c语言中++ x和++ x有什么区别?

作者&投稿:邰逄 (若有异议请与网页底部的电邮联系)
~

首先,两个操作都是自增操作,都只能对变量进行该操作,但是两种自增有些许区别

++x  先将x的值自增1,然后再在当前表达式中使用x的值。

x++  先在当前表达式中使用x的值,然后再将x的值自增1。

举例:

(1)int x=1;System.out.println(x++);    //输出1,  x++先在当前表达式中使用x的值,然后再将x的值自增1,System.out.println(x);     //输出2,经过上一条指令x自增了1

(2)int x=1;System.out.println(++x);    //输出2,  ++x 先将x的值自增1,然后再在当前表达式中使用x的值,System.out.println(x);     //输出2,经过上一条指令x自增了1。

x++实际上分为三个步骤 取值,计算,赋值 例如x=1,x++, 实际上JVM定义了一个缓存值y y=x;取值(只运算一次) y=y+1;

计算 x=y;赋值 而++x,步骤不一样, y=x;取值(只运算一次) x=y;赋值 y=y+1;计算 这就是书上说的x++是先计算后赋值 ++x是先赋值后计算。

扩展资料

C的运算符有以下几类:

1、算术运算符:* - + / %

2、关系运算符: > < == != >= <=

3、逻辑运算符:! && ||

4、位运算符:<< >> ~ | ^ &

5、赋值运算符:=及扩展赋值运算符

6、条件运算符:?:

7、逗号运算符:,

8、指针运算符:*和&

9、求字节数运算符:sizeof

10、强制类型转换运算符:(类型)

11、分量运算符:、 ->

12、下标运算符:[ ]

13、其他:如函数调用运算符:()




贡嘎县13766123710: C语言中X++和++X有什么区别? -
澄周舒泰: x++ 是先运算后 + 1 x = 5 比如 printf('%d',x++); 输出的结果是:5 ++x 是先+1 后运算 同样x = 5 printf('%d',++x); 输出的结果是:6

贡嘎县13766123710: 语言中x++和++x的区别 -
澄周舒泰: 举个例子:如果定义i=2;执行j=i++;后,j=2;i=3;但是执行j=++i;后,j=i=3;如果不执行赋值操作,单独的i++和++i没区别,都是i=i+1

贡嘎县13766123710: c++中x++与++x意思一样吗 -
澄周舒泰: 不是,x++是先赋值后加,++x是先加后赋值,明白先后顺序就可以了

贡嘎县13766123710: C语言中 -- *x和*x--有什么区别? -
澄周舒泰: 区别是--*x是x地址使用前就减1,*x--使用时按原值.这两个都是每循环一次,地址减1.

贡嘎县13766123710: C语言 请帮忙详细解释下x++和++x -
澄周舒泰: x++:先赋值在自加,表达式的值为x,而x的值加1,比如b=5,a=b++,那么a=5,b=6;++x:先自加后赋值,表达式的值为x加1后的值,x自身加1.比如b=5,a=++b,那么a=6,b=6;所以你f()函...

贡嘎县13766123710: C语言中x++和++x的区别?请详述C语言中x++和++x的区别,并结合输出结果解释释以下程序(注意空格位置):main(){int x = 6,y = 5;printf("%d\n",++x+y+... -
澄周舒泰:[答案] 对++i和i++的解释: 解释程序: printf("%d\n",++x+y++);++x后x=7与y相加后是12然后y变成6以后的同理

贡嘎县13766123710: c语言"x"和'x'有什么区别 -
澄周舒泰: 'x'是字符常量,就是字符'x' "x"是字符串常量,包含字符'x'和'\0',也就是说有两个字符.

贡嘎县13766123710: c语言中X=4;(++x)+(++x)=12;(++x)+(++x)+(++x)=19;对以上两种结果给个解释,麻烦了,谢谢 -
澄周舒泰: 在c语言中 ++x 和 x++是两个不同的概念,x++这个好理解,就是自加1,而++x是先做自加1运算再做其他的运算. 第一个式子:(++x)+(++x)已知x=4,第一个++x的时候,x=5,此时x的值已经发生改变.再加上一个++x 也就是第二个++x,此...

贡嘎县13766123710: 请教:turbo c中x++与++x具体有哪些区别?
澄周舒泰: 具体例子吧!如定义int a=1,若b=a++,那么先b=1,后a=2(此时是先使用a的初值,然后a的值加1), 若c=++a,则先a=2,再c=2,即(先使a加1,后赋给c)

贡嘎县13766123710: c语言中y=++x+(x++);与y=x+++(x++);的不同,两者对后面的X有什么影响 -
澄周舒泰: y=++x+(x++);y=(++x)+(x++); y=x+++(x++);y=(x++)+(x++);(++x) 和 (x++) 都会引起后面的x增加1;但是它们的取值不同,++x 值比 x++ 大1.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网