c语言b=a++和b=(a++)的区别

#include "stdio.h"void main(){ int a,b; a=3; b=(a++); printf("%d\n",b); printf("%d\n",a); }b=3,a=4b=(a++) ++和()哪个优先算啊,不是说()里的优先算吗?那么a+1=4b 应该是4啊

c语言b=a++和b=(a++)没有区别。

这个和()没什么关系,注意理解a++和++a的区别:

a++: 先将a的值代入表达式,在表达式运算完毕后,再将a进行++处理。

++a: 先将a进行++处理,再将a的值代入表达式。

注意对于a++这里有一个“在表达式运算完毕后,再将a进行++处理”。

b=(a++); 这是一个赋值表达式,

所以先将a的值代入表达式,必须等到赋值表达式运算完毕后,再将a进行++处理。

也就是说必须等到给b赋值完毕后,才将a进行++处理。

所以b=3,a=4

扩展资料:

C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。 

C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。 

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。

参考资料来源:百度百科-C语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-30
这个和()没什么关系,我详细的讲一下,你一定要看完啊:)
注意理解a++和++a的区别:
a++: 先将a的值代入表达式,在表达式运算完毕后,再将a进行++处理
++a: 先将a进行++处理,再将a的值代入表达式

注意对于a++这里有一个“在表达式运算完毕后,再将a进行++处理”,
b=(a++); 这是一个赋值表达式,
所以先将a的值代入表达式,必须等到赋值表达式运算完毕后,再将a进行++处理,
也就是说必须等到给b赋值完毕后,才将a进行++处理

所以b=3,a=4本回答被提问者采纳
相似回答