在线等答案
其实这道题在不同的编译器下运算的结果不一样的,比如JS和C#以及JAVA运行后的结果是-63,在C++下运行的结果就变成了44,以上都是在window平台下VS2010运行的,而如果换到了linux下用GCC调试就变了22。 这个题目除了考运算符优先级,更多的可能还需要编译器原理的知识吧。希望能给予解释,谢谢。
嗯,其实这道题在不同的编译器下运算的结果不一样的,比如JS和C#以及JAVA运行后的结果是-63,在C++下运行的结果就变成了44,以上都是在window平台下VS2010运行的,而如果换到了linux下用GCC调试就变了22。 这个题目除了考运算符优先级,更多的可能还需要编译器原理的知识吧。希望能给予解释,谢谢。
追答编译原理比较难讲,偏硬件,如果你是为了这个问题而去深究编译原理,那会得不偿失,现在学习是为了工作,抓紧学习能适应工作的内容吧,这道题了解即可,没必要过分深究,希望采纳
int i=10; i=i---i*(i=-3)*i+++++i; printf( i=?); 请高手详细解释一下...
根据结合性,自右向左),下一步就算i*6=36,然后就是负号运算符,得到-36,错误从这里开始,-36是一个表示式,对于自加自减运算符只能用于变量,对表达式是不行的,呵呵,我是这样理解的,其实这样的编程写法大可不必,
执行下列程序段后,i的正确结果是( ) int i=10; switch(i) {_百度...
执行三步,i++;++i;i+=i;
int i = 10;while(i){i--;}执行几次,执行后,i的值为?
i 初值为10,因此会循环10次,直到最终 i 的值为0。可以改写下程序,将count和i的值都打印出来:include <stdio.h>int main(void){ int i = 10, count=0; while(i){i--; count++; } printf("count=%d\\ni=%d\\n", count,i); return 0;} 代码在Linux下编译执行通...
# include main() { int i=010 , j = 10; printf("%d,%d\\n",+ +i...
原因是:010是8进制,换算成十进制就是8,也就是i的值为8,++i后,i的值为9,所以输出9。j--会先输出j的值,然后在做--操作,所以输出10.
...{ int i=10; printf("%d,%d,%d\\n",++i,i,i++); printf("%d\\n...
结果是 12 11 10 最后输出一个12 printf的参数是从 后面往前计算的,先是 i++ 这个是先使用i 10 然后改变i的值加1 i的值变为11 第二个输出i 也就是 11 第三个输出 ++i 是先改变i的值为12 然后再使用i输出 就是12 ...
谁能详细的给我讲一下i++,++i,i--,--i的区别阿
1、运算符类型不同:i++使用的是后置自增运算符,++i使用的是前置自增运算符,i--使用的是后置自减运算符,--i使用的是前置自减运算符。递减操作符是“--”,意为“减少一个单位”;递增操作符是“++”,意为“增加一个单位”。2、运算规则不同:++i表示,i自增1后再参与其它运算;而i++...
...int i=10; i> 1; i \/=2 ) { printf("%d ", i++); }
i=10,输出10,执行i++,i变成11 11\/2截取整数部分,是5,输出5,执行i++,i变成6 6\/2=3,输出3,执行i++,i变成4 4\/2=2,输出2,执行i++,i变成3 3\/2截取整数部分,是1,不满足i>1的循环条件,退出循环 因此输出结果是10 5 3 2 ...
main() { int i=10,j=1; printf("%d,%d\\n",i-- ,++j); }执行后输出结果...
10,2 i--是先使用后自减,++j是先自加后使用。满意请给最佳
int i; for(i=1;i++<3;); printf("%d",i);
当i为1时,判断i++<3(满足),同时i变为2;当i为2时,判断i++<3(满足),同时i变为3;(先比较,再自增)然后再判断i++<3(不满足),同时i变为4 退出循环。
main() {int i; for(i=1;i+1;i++) {if(i>4) {printf("%d\\n",i); br...
而后面那个就翻译成两句话:i=i+1(运算);i%8==0(判断条件)。根据先后顺序,两个判断条件如果合到一起就变成{i%5==0;i=i+1;i=i+1;i%8==0},从左到右依次再合并变成三句话,{i%5==0;i=i+2;i%8==0;}再进一步合并就成了两个判断条件{i%5==0,(i=i+2)%8==0...