C语言的自加自减运算符比如y的初值为5,为什么a=(y++)+(y++)+(y++)的值是15 难道每一次y++的值都不变?但是建立一个新程序 ,y的初值还是5b=(++y)+(++y)+(++y)的值是22,这又是为什么?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 00:01:29

C语言的自加自减运算符比如y的初值为5,为什么a=(y++)+(y++)+(y++)的值是15 难道每一次y++的值都不变?但是建立一个新程序 ,y的初值还是5b=(++y)+(++y)+(++y)的值是22,这又是为什么?
C语言的自加自减运算符
比如y的初值为5,
为什么a=(y++)+(y++)+(y++)的值是15 难道每一次y++的值都不变?
但是建立一个新程序 ,y的初值还是5
b=(++y)+(++y)+(++y)的值是22,这又是为什么?

C语言的自加自减运算符比如y的初值为5,为什么a=(y++)+(y++)+(y++)的值是15 难道每一次y++的值都不变?但是建立一个新程序 ,y的初值还是5b=(++y)+(++y)+(++y)的值是22,这又是为什么?
这实在是个令人纠结的问题.
C语言中区分前自增与后自增,它们都有副作用,尤其是后自增.
前自增可能更好一点,它不产生临时变量,效率更高一些.
++y相当于:y=y+1;在变量的使用之前先自增.
y++相当于:y; 其它语句...y=y+1;也就是使用它时,它的值不变,在其使用之后的某一时刻但在再次使用它前其值加一.而且不同的编译器不一定有一致的实现行为.
a=(y++)+(y++)+(y++) 这是一条语句,通常的编译器实现会将此语句一次性扫描完成.这种情况下,y++会保持其值不变,此语句完成后,将y的值递增3次.
b=(++y)+(++y)+(++y)这也是一条语句,编译器扫描完此语句后,先将y递增3次,再作+运算,将运算结果赋予b,此时b应该为24.但是不同的系统及编译器不一定这样实现,还有可能y依次递增,其结果是21.

C语言的自加自减运算符比如y的初值为5,为什么a=(y++)+(y++)+(y++)的值是15 难道每一次y++的值都不变?但是建立一个新程序 ,y的初值还是5b=(++y)+(++y)+(++y)的值是22,这又是为什么? c语言 在函数中如果变量经过自加和自减运算后,函数执行完成后,经过自加和自减的变量会变成零?求解释啊 C语言负数的自加自减可不可以,如果可以怎么算? C语言中自加自减运算符前后位置的区别“++”“--”这两个运算符放在变量前面和放在变量后面有什么不同么?看到书上有这样一句话:无论作为前缀运算符还是后缀运算符,对于变量本身来说 a+=a-=a+a a的初值为9 在c语言中的运算过程是什么? C语言的自增自减运算:x=3 ,y=-x+++x x等于多少?(-x++)+x 然后怎么得到x=4了 我想不通 什么数,自加,自减,自乘,自除后,运算后的4个数+起来=100. 关于C语言结合性的问题自增运算符++的结合性是从右到左 c语言中条件表达式的运算顺序不应该是自左向右吗?为什么a C语言实现加减乘除运算输入两个数进行加减乘除运算,循环体(用for循环并且带判断的).比如输入Y继续下一组运算输入N结束运算.本人while和dowhile的都会但是for循环带判断的实在不会 这是自 c语言自增自减运算题目 int x=5,y; y=2+(x+=x++,x+8,++x); printf(%d,y); 求指教,纠结在x+=x++如何算 关于C语言计算的两道题目.自加自减,了解的帮忙解答下~#include #include main() main(){ { int a=6,b=0; (C语言)若x和y都是double型变量,且的x初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为?pow和fabs是什么?如何求? C语言问题:设int x=11;表达式(x++ * 1/3)的值是?还有就是自增自减符号跟其他运算符号混合一起时的运算顺序是怎样的? C语言运算符的方向性问题14级的运算符方向的结合性都是自右向左的,举个例子,到底怎么个自右向左法?在表达式中的运算自由向左还是自身的自右向左运算? 有关逻辑表达式问题设有定义int x=1,y=1,c则执行语句“c=x--ll--y;后,x,y,c的值分别是:x=0,y=1,c=1.没有理解x,y为什么0,1,我觉得是1,0;这可能归根是自加自减运算符没搞懂.请指教. 关于c语言的右结合性,求助a++怎么理解,不是右结合性应该先自加在运算吗,为什么又该是先运算在自加的 ,还有负号,也不知道怎么理解,究竟这个由是指符号的右边还是运算对象的右边. c语言;整型变量i的值为3,则计算表达式i---i表达式的值为多少此题答案是0;i是先使用然后再做自减运算的,那么i--=3,后一个i 到底有没有变呢?是以前的3还是已经通过自减运算变成2了呢?