for循环里++i和i++的区别

如题所述

#include<stdio.h>  
#include<string.h>  
#include<math.h>  
#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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-12
i++是先取i值进行本程序语句的计算,然后再自加1
++i是先自加1,再进行本语句运算。
如果只进行自加,而不涉及其他运算的情况下
相似回答