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

来源:百度知道 编辑:UC知道 时间:2024/06/21 19:01:48
#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语言对操作系统和系统使用程序