C语言中自增自减运算符为什么不能用于表达式?

如题所述

变量占据着一定的内存空间,储存着数据;
(a+b)++中,(a+b)的值为5,其实现自增后值为6,但是该语句仅仅表示个6的数值而已,它没跟系统说要将6放在哪里,赋给什么变量。那么该语句虽然运行计算了,但是只相当于
6;语法上可行,但是毫无意义
应该为
c=(a+b)++;
则c被赋值为6;
温馨提示:内容为网友见解,仅供参考
无其他回答

自增自减运算符为什么不能用于表达式
不是不能用于表达式,而是自增自检运算符的运算对象要求必须是整型变量

C语言中为什么常量和表达式不能进行自增自减运算?
所以要能够自增自减首先就要满足有固定的内存地址,而对于表达式来说,最终表达式计算得到的结果如果不赋值给变量的话是没有固定内存地址记录这个值的。再来说常量,虽然常量是有分配固定内存地址,但是常量的意义就是指‘不变化的量’,所以说这是类型限定了常量是不能被改变的,如果能变,那就不是常量...

C语言中为什么常量和表达式不能进行自增自减运算?
这是c语言设计之初就规定的,常量不能自动递增,如果能自动递增就不叫常量了,就叫变量了。表达式就更不用说了~~

C语言自增、自减运算时,这样写为什么会出错?
C语言中,无论自增\/自减前\/后缀表达式,都不是可修改的左值,表达式都不可再次作为自增\/自减的操作数

为什么自增和自减运算符不能同时用?
(1)自增运算符“++”是对变量的值增加1。(2)自减运算符“--”是对变量的值减掉1。(3)参与自增运算符的变量,可以在前和在后,例如有变量int i;可以有i++和++i这样的表达式,这两种表达式都会使变量i的值增加1;而且i++表达式返回i变量自增之前的值;++i表达式是返回i变量自增之后...

c语言问题
以下提示供参考:1、字符型可以进行自增自减运算。2、虽然浮点型也可以进行自增自减运算,但建议尽量不要这么做,其原因在于:浮点数是近似存储。在某些特殊情况下,可能会出现 f 的近似值和 f+1 的近似值会等同等意外情况。3、自增、自减运算符只能作用于变量,而不能作用于常量或表达式。

c语言关于自增自减运算的问题
, 按我们算应该是13,但编译器是在编译过程中认为()里面的优先级的相同的,而且都是先自增,所以编译器就把先把这两个自增计算了,然后就是7+7了。而下面是一样的,前二个也是同时进行。后面才进行也就是7+7+8,最后为22. (我以前也问过,老师用编译后的汇编代码给我解释的)...

C语言自增自减不选择实型变量的原因是?
n=j++; 先把j的值10给n,然后再自增,j变成了11 所以得结果。C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的...

c语言中自加自减怎么运算
自加++自减--运算的数据类型可以是Float和Double。在c语言中,并不是所有变量都可以使用自增自减操作符;可以使用自增自减操作符的数据类型有:int、float、double 、char、long。自增(++) :将变量的值加1,分前缀式(如++i) 和后缀式(如i++) 。前缀式是先加1再使用;后缀式是先使用再加1...

C语言为什么自增自减最好不要用于实型变量
这个是所谓的浮点陷阱 浮点数 包括float 、double、long double等等都是近似存储 所以每一个浮点数的值都不是准确的 于是如果采取自加 在一些特殊情况下 a的近似值和a+1的近似值会等同 即自加完全没有效果 如果用在循环中 就有可能导致死循环 比如 float a = 0;while(a++ < 1e10);这个就是...

相似回答