++i 前缀加加,值变 i=8
为什么?,i,+后不是9吗?
按次序 变化!
--i 前缀减减,值变 i=7
在 i=7 基础上变化
++i 前缀加加,值变 i=8
那后面的i++,i--呢?那后面也不会是88啊?
本回答被网友采纳...++i,--i,i++,i--); 答案为什么是8788?求解,谢谢
所以printf里面那几个运算顺序你可以看成由右往左运算。首先运算i--,然后运算i++这样 而后置++和--会等到该行表达式运算完毕后,再另行++,-- 你这个打印完之后,i值依然为 8
...{ int i=8; printf("%d\\n%d\\n%d\\n%d\\n",++i,--i,i++,i--); }...
1、不同的编译器对于printf()函数的解释不同,有的编译器解释为从左到右执行,而有的则解释为从右到左执行。想VC6.0就是解释成从右到左执行的。2、但是这并不意味着在VC6.0下执行结果就是8778,以为出于某方面的考虑VC6.0要执行多余两个++或--后才会改变变量的值。3、请看下图我对lz程序...
...{ int i=8; printf("%d,%d,%d,%d,%d\\n",i,i++,++i,--i,i...
结果是 8,8,9,7,8吧,楼主
{ int i=8; printf("%d\\n%d\\n%d\\n%d\\n",++i,--i,i++,i--); }帮忙分析...
1.计算:从右往左,并输出到“缓冲区”。2.缓冲区是一堆栈 3.第一步:处理后面的“i--”。8进入缓冲区,i=7。缓冲区:8 <-(指针)第二步:处理“i++”。7进入缓冲区,i=8。缓冲区:7 8<- 第三步:处理”--i“。8进入缓冲区,i=7.缓冲区:8 7 8 第四步:处理“++i” 先...
int i=8 printf("%d\\n%d\\n",++i,--i)为何为8,7
printf("%d\\n%d\\n",++i,--i);printf中的运算从最后一个参数开始 如i=8;printf("%d%d%d\\n",++i,++i,++i,++i)结果为12,11,10,9
...int i=8; printf(“%d”,++i); printf(“%d”,--i); printf_百度知 ...
所以i=8,先i--,得到i不变(下一条语句时i才等于7,这也就是为什么第二个输出的是7,第一个输出的是8没有改变),再i++,也得到i不变(下一条语句时i才等于8),执行--i,i立刻减去1,得到i=7(也就是8-1=7,所以第三个输出的是7),再执行++i,i立刻加1,得到i=8(也就是7+1...
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",++i); printf("%d\\n",--i); printf("%d\\n...
程序一共输出3行,第一行输出9,第二行输出8,第三行输出还是8。第三行i++是先取值输出,再自增1,先取出i变量中的8输出到屏幕上,然后再把i变量加1,i变量最后的值是9,但是第三行屏幕上只输出8。
...程序,i=8输出下列各表达式:i,i++,++i,--i,i--,-i++,-i--的值_百 ...
include<stdio.h> main(){ int i=8;printf("%d%d%d",i,i++,++i,--i,i--,-i++,-i--);}
++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++)。先执行...