执行该语句的结果为-12,没有错误。注意赋值运算符的顺序为自右到左。
计算过程如下:
首先执行a*a=9,然后a-=9=(a=a-9)=-6,执行后a=-6,然后执行a+=a=(a=a+a)=-12。所以说正确答案是-12。
扩展资料:
C语言主要特点
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型。
简洁的语言
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
具有结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
丰富的数据类型
C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。
丰富的运算符
C语言包含34个运算符,它将赋值、括号等均是作运算符来操作,使C程序的表达式类型和运算符类型均非常丰富。
赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
条件运算符
这是一个三目运算符,用于条件求值(?:)。
逗号运算符
用于把若干表达式组合成一个表达式(,)。
指针运算符
用于取内容(*)和取地址(&)二种运算。
求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
C语言运算符号指的是运算符号。C语言中的符号分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。
参考资料来源:百度百科-C语言的赋值运算符
参考资料来源:百度百科-C语言
从右往左左运算,a*a=36,执行语句a=a-36,得到值-30,然后执行语句a=a-30,得到值-60。
赋值语句,从右到左依次运行:
int a=3;
a+=a-=a*a;
相当于:
a-=a*a;
a+=a;
然后相当于:
a=a-a*a;
a=a+a;
由于a初始化为3:
a=a-a*a=3-3*3=-6;
a=a+a=-6+(-6)==-12;
所以最后结果就是-12
扩展资料:
例如
int a,b,c; (a,b,c为整型变量)
long x,y; (x,y为长整型变量)
unsigned p,q; (p,q为无符号整型变量)
定义整型变量的格式是
整数类型 1个变量名或用逗号隔开的多个变量名
类似地,还可以定义 unsigned int 、 unsigned long 型的变量。
定义一个变量,意味着在内存中给这个变量分配了相应大小的存储空间,同时确定了这个变量值的存储方式和可以进行的操作。
参考资料来源:百度百科-整型变量
本回答被网友采纳