赋值运算符是“=”,其作用是将赋值运算符右侧的表达式的值赋给其左侧的变量。值得注意的是:赋值运算符运算对象中的左侧对象一定是变量。如:
由于表达式中出现将数值5赋给b-c的表达式,因此该表达式是非法的。
错误的赋值格式:
(1)赋值号"="的左边不允许出现常量或表达式形式(不包括合法的指针表达式)
c=a+b=3;/*错误格式*/
a+b=c;/*错误格式*/
a=b=3=c;/*错误格式*/
(2)不能给未定义的变量(未开辟的空间)赋值
如int a;a=5;k=5;/*根本没定义变量k,何来赋值一说?编译错误!*/
(3)变量未明确赋值不能参与运算
如:int a,b,c;c=a+b;
由赋值运算符将操作对象(操作数)连接起来符合C语言语法规则的表达式称为赋值表达式。赋值表达式形式如下:(www.xing528.com)
即将右边表达式的值赋给左边的变量。赋值号"="的左边量必须为变量(或其它代表此变量的等价表达式,如"指针")。
既然"="为运算符号,那么显然有它的运算级别和所谓的运算方向。在C语言众多的运算符号中,除了本章最后一小节将要谈到的逗号运算符,赋值号"="运算级别为倒数第二,因逗号运算符在表达式中较少用到,所以当表达式中出现"="时,通常它是最后处理的,另外注意:赋值号"="的运算方向为自右向左,即先算右边表达式的值,然后再将其值赋给左边的变量。
例3.5:赋值运算符的用法。
运行结果如图3.5所示。
例3.5中有三个赋值语句(赋值表达式加上分号即为赋值语句)。a=1;是将整型常量1赋值给整型变量a,经过此句后变量a中将存放整数1。当执行到b=a+1;时,因a中已存放了1,所以此句等价于b=1+1;b中毫无疑问存放了2;依次类推,变量c中存放了3。
图3.5 例3.5运行结果
当变量名出现在赋值号左边时,其代表变量所对应的内存空间;当出现在赋值号右边时,其代表变量所对应内存空间中存放的数据。
当出现此句时,千万不要和数学中的式子混为一谈.在数学中此式子肯定不合法,不过在C语言中,此种形式的语句我们以后会经常用到.其实质的含义是:将变量a中存放的数据加1后,重新再赋给本身。经过以上语句后,变量a中的值增加1。
上面给a赋初值为1,故此时a中将存放2,那么以前存放的1呢?它已被新赋的2所覆盖。对于任意一个基本变量,同一时刻它只能存放一个数据,所以无论给其赋值多少次,它只能保留最后一次赋予的数据。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。