main()
{
int n[40]={1,1};
int i;
for(i=2;i<40;i++)
n[i]=n[i-2]+n[i-1];
for(i=0;i<40;i++)
{
if(i%4==0)printf("\n");
printf("n=%-12d",n[i]);
}
}
i++和++i,难道相同?
不是一个是 先用再加,另一个是先加再用吗?
因为for(1;2;3){ 4 }中,先执行1部分,之后是2,然后程序进到{ }中执行4,执行完后执行3,之后再 2,4,3,2,4,3。。。所以在for()中 看不出i+ + 与 + + i 的效果。
void main()
{
int i = 0;
printf("%d\n",++i); //输出 1
i = 0;
printf("%d\n",i++); //输出 0
}
i++是先用再加
++i是先加再用
不过单独用的时候,都是i=i+1,没什么区别!
而 a = ++i,相当于 i=i+1; a = i; (先i = i + 1,再使用i的值)
而 a = i++,相当于 a = i; i=i+1; (先使用i的值,再i = i + 1)
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息