array[count]=count++时发生了什么?该如何解决
array[count]=count++时发生了什么?
今天练习参考书上的例子时无意将
打成了
运行结果出乎意料:
![array[count]=count++时发生了什么?该如何解决 array[count]=count++时发生了什么?该如何解决](/default/index/img?u=aHR0cDovL3d3dy5teWV4Y2VwdGlvbnMubmV0L2ltZy8yMDE0LzA2LzIxLzE5MTYxNjMxNi5qcGc=)
求大神解惑![array[count]=count++时发生了什么?该如何解决 array[count]=count++时发生了什么?该如何解决](/default/index/img?u=aHR0cDovL3d3dy5teWV4Y2VwdGlvbnMubmV0L2ltZy8yMDE0LzA2LzIxLzE5MTYxNjMxNy5naWY=)
------解决方案--------------------
myarray[count]=count++;
count被赋值后才++,后来你打印的已经不是赋值的那个数组单元了。其实你赋值的单元式0,2,4,。。。
------解决方案--------------------
你打印出来的是刚好没有被
myarray[count]=count++;
赋值的元素,所以打印的是内存被申请时的原始值
今天练习参考书上的例子时无意将
for (count=0;count<ufsize;count++) //ufsize等于100
{
myarray[count]=count;
printf("myarry[%d]=%d\n",count,myarray[count]);
}
打成了
for (count=0;count<ufsize;count++) //ufsize等于100
{
myarray[count]=count++;
printf("myarry[%d]=%d\n",count,myarray[count]);
}
运行结果出乎意料:
求大神解惑
------解决方案--------------------
myarray[count]=count++;
count被赋值后才++,后来你打印的已经不是赋值的那个数组单元了。其实你赋值的单元式0,2,4,。。。
------解决方案--------------------
你打印出来的是刚好没有被
myarray[count]=count++;
赋值的元素,所以打印的是内存被申请时的原始值