第1个回答 2015-09-12
是自增运算,而且是先加1后再执行。
例如:
int i,k;
for(i=0,k=0; i<5; i++)
{
k += i++;
}
第一次进入时i的初始值是0,k的初始值也是0。这时的i++并没有在本次语句中起到加一的作用,而是要在本次操作结束后再起作用,也就是在第一次循 环完全结束后。进入循环体本人看,k += i++;这时由于这里的是i++(需要先操作后加1),所以,k的值理所当然是0了,而在本句结束后i的值就进行了加1操作,在本次循环结束时又进行了一 次加1操作,所以本次循环结束后k=0,i=2;
第二次进入时i的初始值是2,k的初始值是0。同理分析,在k += i++;后k的值为2了,而i的值也由于两次i++变为了4。所以,本次循环结束后k=2,i=4;
第三次进入时i的初始值是4,k的初始值是2。同理分析,在k += i++;后k的值由于经过原来的值与i当前的值相加后变成了6,而i的值同样是在最后加了两个1。所以在本次循环结束后k=6,i=6;
第四次准备进入循环时,发现i的值已经比5大了。因此,程序终止。最后k的值为6,i的值也为6。