C语言中x++和++x的区别?

请详述C语言中x++和++x的区别,并结合输出结果解释释以下程序(注意空格位置):
main(){int x = 6, y = 5;printf("%d\n",++x+y++);printf("%d\n",++ x+y++);printf("%d\n",++x +y++);printf("%d\n",++x+ y++);printf("%d\n",++x+y ++);printf("%d\n",++x+y++ );}
输出结果:121416182022

C语言中x++和++x的区别如下:

x++是在有这个的这个算式中先使用x,再自增1及x=x+1。

++x是先自己加1,再使用。

用 ' ' 包括起来的都是字符,也就是char型的量,注意是量,不是变量,而x则就是变量。
比如你有一个char型的变量x,你想把x的值赋值为x,就这样写 x='x'; 将字符'x'赋值给字符变量x。赋值后变量x的值就是字符x了。

扩展资料

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

参考资料:百度百科-c语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-09

C语言中x++和++x的区别如下:

1、自增的顺序不同

x++表示x自增1后再参与其它运算。

++x是x参与运算后,x的值再自增1。

2、自增类型不同

x++属于后置自增运算。

++x属于前置自增运算。

扩展资料

前置后置区别的举例

1、a = i++;

相当于 a = i; i++;

2、a = ++i;

相当于 i++; a = i;

3、int c;

int d = 10;   //  测试自增、自减

c = ++d;      // ++d 是先对 d 的值加 1,再使用 d 的值执行该行命令

int e = 10;   // 测试自增、自减  

c = e++;      // e++ 是先使用 e 的值执行该行命令,执行完后再对 e 的值加 1

参考资料来源:百度百科——自增自减运算符

本回答被网友采纳
第2个回答  2018-07-08

++x是x的值先自增1,再计算x的值。

x++是先计算x的值,再将x的值自增1。

举例:

int x=10;

System.out.println(x++);  

System.out.println(x);

//第一个输出10,  x++先在当前表达式中使用x的值,然后再将x的值自增1,第二个输出11,因为经过上一条指令x自增了1。

int x=10;

System.out.println(++x);

System.out.println(x); 

//第一个输出11,  ++x 先将x的值自增1,然后再在当前表达式中使用x的值,第二个也是输出11,经过上一条指令x自增了1。

拓展内容:

编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。最早的编程语言是在电脑发明之后产生的,当时是用来控制提花织布机及自动演奏钢琴的动作。在电脑领域已发明了上千不同的编程语言,而且每年仍有新的编程语言诞生。很多编程语言需要用指令方式说明计算的程序,而有些编程语言则属于声明式编程,说明需要的结果,而不说明如何计算。编程语言的描述一般可以分为语法及语义。语法是说明编程语言中,哪些符号或文字的组合方式是正确的,语义则是对于编程的解释。有些语言是用规格文件定义,例如C语言的规格文件也是ISO标准中一部份,2011年后的版本为ISO/IEC 9899:2011,而其他语言(像Perl)有一份主要的编程语言实现文件,视为是参考实现。编程语言俗称“计算机语言”,种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。 目前通用的编程语言有两种形式:汇编语言和高级语言。

本回答被网友采纳
第3个回答  2015-05-16

C语言中提供了自增1运算符++和自减1运算符--

而且,这两种运算符,还分为前缀运算和后缀运算

如:

int a=5;

a++;   //后缀运算,表示a=a+1 = 5+1=6

a--;     //后缀运算,表示a=a-1 = 6-1=5

--a;     //前缀运算,表示a=a-1 = 5-1=4

++a;   //前缀运算,表示a=a+1 = 4+1=5

以上单独使用自增1或自减1运算符,前缀运算和后缀运算没有区别,其结果都是完成变量a的自加1或自减1

前缀运算和后缀运算的区别在于:前缀运算,先运算,再使用变量;后缀运算,先使用变量,再运算。如:

int a=5;

printf("a=%d\n", ++a );  //前缀运算,先运算a=a+1=5+1=6,再使用变量a,输出结果a=6

a=5; //重新赋值为5

printf("a=%d\n", a++ );  //后缀运算,先使用变量a,输出结果a=5,再运算a=a+1=5+1=6

void main(){
int x = 6, y = 5;
printf("%d\n",++x+y++); //以下代码表面看有区别,实际都是一样的,先执行++x 然后结果+y,然后y++。 ++的结合性要优于+,所以,解题时,先找++的参与变量,再找其它运算符的参与变量
printf("%d\n",++ x+y++); 
printf("%d\n",++x +y++);
printf("%d\n",++x+ y++);
printf("%d\n",++x+y ++);
printf("%d\n",++x+y++ );
}

第4个回答  2013-09-21
x++是先计算后加1++x是先加1后计算main(){int x = 6, y = 5;printf("%d\n",++x+y++); //x先加1再加上y,之后y再自加1,所以是7+5=12,打印出12,这时x=7,y=6printf("%d\n",++ x+y++); //x先加1再加上y,之后y再自加1,所以是8+6=14,打印出14,这时x=8,y=7printf("%d\n",++x +y++); //x先加1再加上y,之后y再自加1,所以是9+7=16,打印出16,这时x=9,y=8printf("%d\n",++x+ y++); //x先加1再加上y,之后y再自加1,所以是10+8=18,打印出18,这时x=10,y=9printf("%d\n",++x+y ++); //x先加1再加上y,之后y再自加1,所以是11+9=20,打印出12,这时x=11,y=10printf("%d\n",++x+y++ ); //x先加1再加上y,之后y再自加1,所以是12+10=22,打印出14,这时x=12,y=11}
相似回答