int a=2,i,k;for(i=0;i<2;i++){k=a++;}printf("%d尀n",k);最后运行结果为什么为3

2025-06-22 08:14:04
推荐回答(2个)
回答1:

第一次循环的时候k=a++,即是k=2,然后a自加1变为3,然后i++,i=1
第二次循环的时候k=a++,即是k=3,然后a自加1变为4,然后i++,i=2
这时判断i<2已经不满足,所以结束了循环,输出k的值为3
这里特别要注意一下的就是,a++代表的含义是先执行其它的操作,例如把值赋给k,而后再自行加1,与++a有区别。

回答2:

循环两次;
第一次k赋值为2;
第二次k赋值为3;
如果你用++a就是得4了;
这个问题在于前++;后++得区别了