#include<stdio.h>
main()
{
int k,h;
int i=4;
k=(++i)+(++i)+(++i);
printf("k=%d,i=%d\n",k,i);
i=4;
h=(i++)+(i++)+(i++);
printf("h=%d,i=%d",h,i);
}
这个代码k=19,i=7;h=12,i=7;
这个别人问过的问题,先看第二个h,课本上解释是先执行i+i+i,即,4+4+4所以h为12,接着i连续加3次得7;
那么我的疑问是第一个为什么不是i先自加3次变7,再7+7+7=21,为什么结果是19.
2.在C语言中/40,/100,/x40,/x100,/0123,/x0123,各是什么意思?
比如说/40=32=空格,怎么出来的,不是很懂,求详细点的解释,
这个是《c和指针》 上的一个题目 |