#include
#include
#include
#define N 10000
int main()
{
int i, j, k, n, m;
j = 0;
k = 0;
for (i = 0; i <10;k=i, ++i,j=1)
{
printf("---\n");
printf("k=%d\n", k);
printf("j=%d\n", j);
printf("i=%d\n", i);
}
printf("i====%d\n", i);
printf("\\\\\n");
for (i = 0; i < 10; k=i,i++, j = 2)
{
printf("---\n");
printf("k=%d\n", k);
printf("j=%d\n", j);
printf("i=%d\n", i);
}
printf("i====%d\n", i);
return 0;
}
从结果我们可以看出这样几点:
1.for循环先执行前两个分号内的内容,然后执行大括号的内容,最后执行第二个分号后的内容
2.在++i和i++的形式下i都完成了i=i+1的操作,这个操作在这个地方不分先后。因为最后都是吧i+1赋给了原来的i
i++是先取i值进行本程序语句的计算,然后再自加1
++i是先自加1,再进行本语句运算。
如果只进行自加,而不涉及其他运算的情况下