kuschzzp 发表于 2019-10-28 23:10:13

C 语言++运算符求助解答两种输出方式答案怎么不一样

本帖最后由 kuschzzp 于 2019-10-28 23:29 编辑

#include<stdio.h>
int main()
{
        //   第一个
        int i=5;
        int k= ++i;
        printf("第一个结果:%d\n",k+k+k);
        //第二个
        printf("第二个结果:%d\n",(++i)+(++i)+(++i));
       
}


结果:
第一个结果:18
第二个结果:25

--------------------------------
Process exited after 1.047 seconds with return value 0
请按任意键继续. . .

王尧 发表于 2019-10-28 23:58:08

因为++i过后i的值会加1;   程序运行到第六行的时候i的值为6,第九行的运算过程应该可以理解为i + (++i) + (++i)//i = 7   >>i + i + (++i) // i = 8 >> 16 + i //i = 9 >>25;   
页: [1]
查看完整版本: C 语言++运算符求助解答两种输出方式答案怎么不一样