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
请按任意键继续. . .
因为++i过后i的值会加1; 程序运行到第六行的时候i的值为6,第九行的运算过程应该可以理解为i + (++i) + (++i)//i = 7 >>i + i + (++i) // i = 8 >> 16 + i //i = 9 >>25;
页:
[1]