如题所述
void main() { int i=8; printf("%d\\n%d\\n%d\\n%d\\n%d\\n",--i,--i...
如图,正确答案应该是8,9,10,9,8 --i和++i都是赋值语句,需要自右边向左运算。其实,主要是函数参数入栈的方式造成有,入栈从右向左,运算也就从右向左。
{ int i=8; printf("%d\\n%d\\n%d\\n%d\\n",++i,--i,i++,i--); }帮忙分析...
第一步:处理后面的“i--”。8进入缓冲区,i=7。缓冲区:8 <-(指针)第二步:处理“i++”。7进入缓冲区,i=8。缓冲区:7 8<- 第三步:处理”--i“。8进入缓冲区,i=7.缓冲区:8 7 8 第四步:处理“++i” 先自增1,然后8进入缓冲区,i=8 .缓冲区: 8 8 7 8 4.输出缓...
int i=8 printf("%d\\n%d\\n",++i,--i)为何为8,7
如i=8;printf("%d%d%d\\n",++i,++i,++i,++i)结果为12,11,10,9
++i、--i和i++、i--的区别理解
++i、--i和i++、i--的区别:1、执行时间先后顺序不同。++i 先执行i+1后执行程序 i++ 先执行程序后执行i+1 int i=8; printf("%d\\n",++i),先执行加法所以打印出来的是9 printf("%d\\n",--i)。2、执行减法的先后程序不同。先执行减法 打印出来是8 printf("%d\\n",i++)。先执行...
...j;i=8,j=10;printf("%d,%d,%d,%d\\n",i,j,++i,j++);输出为9,10,9...
void main(){int i,j;i=8,j=10;printf("%d,%d,%d,%d",i,j,++i,j++);} 这个一般编译器是从右往左计算,并且后++不起作用。这种方法很有危险,实际应用中应避免这种写法。现在的教育制度就是这样,非得研究那些没有实际意义的牛角尖问题…… 却不多花点时间学习有用的……...
...<stdio.h> void main() { int i=10; printf("%d,%d,%d\\n",++i...
结果是 12 11 10 最后输出一个12 printf的参数是从 后面往前计算的,先是 i++ 这个是先使用i 10 然后改变i的值加1 i的值变为11 第二个输出i 也就是 11 第三个输出 ++i 是先改变i的值为12 然后再使用i输出 就是12 ...
...void main() {int i.j; i=8,j=10; printf("%d%d%d",i.j,++i,j++...
加号在左边表示先加再用,右边表示先用再加。所以++i是9,j++是10(但是如果这次输完后再输出j的话就是11了)
void main(){ int i,j,m,n;i=8;j=10;m=i++;n=j++;printf("%d,%d,%d...
没加头文件,加上 include <stdio.h>就OK 了 include <stdio.h> void main(){ int i,j,m,n;i=8;j=10;m=i++;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}
...void main() {int i=-1; do{ printf("%d,",i)}while(i++); pri...
printf("%d,",i)这句后面少了一个;分号
...void main() { int i,j; i=10; printf("%d,%d,%d\\n",i--,j=i++...
逗号分隔,从右向左计算,顺序如下 j=++i;i先加1,i=11;j=11;j=i++;i先赋值11;j=11;i--;i先赋值11;i++与i--在语句结束后改变。