自增运算符笔试题
int i=3;k=(++i)+(++i)+(i++);求k,i的值
int i=3;k=(++i)+(++i)+(++i);求k,i的值
int i=3;k=(i++)+(i++)+(i++);求k,i的值
百度出来的答案
int i=3;k=(++i)+(++i)+(i++);
k=15,i=6;
int i=3;k=(++i)+(++i)+(++i);
k=18,i=6
int i=3;k=(i++)+(i++)+(i++);
k=9,i=6
理解为一条语句中执行完所有的++i ,再进行语句的计算。但VC6中运行出来的确实这个答案
附上测试代码
int i=3;
int k ;
k = (++i)+(++i)+(i++);
printf("k = %d , i = %d \n",k,i);
i=3;
k=(++i)+(++i)+(++i);
printf(" k = %d , i = %d \n",k,i);
i=3;
k=(i++)+(i++)+(i++);
printf(" k = %d , i = %d \n",k,i); 笔试
[解决办法]