C语言问题: printf("%d %d %d %d\n",i,j,m=++i,n=j++);

2020-09-08 科技 90阅读
printf函数在打印的时候先会计算出后面所有的表达式后再输出到标准输出上,后面的逗号表达式为i,j,m=++i,n=j++;i初始化为8,j初始化为10,m=++i(i先加变为9赋值给m,所以i为9,m为9),n=j++(j先赋值后再加,所以n是10,j也是10)。也许你会问j加了为什么不是11,这取决你的编译器(i++,和++i)在什么时候,我的编译器上j就会变成11.你的就是先打印了再j加了,你可以再后面加一句打印一下j的值。也许就是11.好了,就这样了。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com