C语言赋值语句详解
赋值语句是由赋值表达式再加上分号构成的表达式语句。其一般形式为:
变量=表达式;
赋值语句的功能和特点都与赋值表达式相同。 它是程序中使用最多的语句之一。
在赋值语句的使用中需要注意以下几点。
1) 由于在赋值符“=”右边的表达式也可以又是一个赋值表达式。因此,下述形式
变量=(变量=表达式);
是成立的,从而形成嵌套的情形。
其展开之后的一般形式为:
变量=变量=…=表达式;
例如:
2) 注意在变量说明中给变量赋初值和赋值语句的区别。
给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。例如:
3) 在变量说明中,不允许连续给多个变量赋初值。如下述说明是错误的:
4) 注意赋值表达式和赋值语句的区别。
赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。下述语句是合法的:
下述语句是非法的:
变量=表达式;
赋值语句的功能和特点都与赋值表达式相同。 它是程序中使用最多的语句之一。
在赋值语句的使用中需要注意以下几点。
1) 由于在赋值符“=”右边的表达式也可以又是一个赋值表达式。因此,下述形式
变量=(变量=表达式);
是成立的,从而形成嵌套的情形。
其展开之后的一般形式为:
变量=变量=…=表达式;
例如:
a=b=c=d=e=5;按照赋值运算符的右接合性,因此实际上等效于:
e=5; d=e; c=d; b=c; a=b;
2) 注意在变量说明中给变量赋初值和赋值语句的区别。
给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。例如:
int a=5,b,c;
3) 在变量说明中,不允许连续给多个变量赋初值。如下述说明是错误的:
int a=b=c=5;必须写为
int a=5,b=5,c=5;而赋值语句允许连续赋值。
4) 注意赋值表达式和赋值语句的区别。
赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。下述语句是合法的:
if((x=y+5)>0) z=x;语句的功能是,若表达式x=y+5大于0则z=x。
下述语句是非法的:
if((x=y+5;)>0) z=x;因为x=y+5;是语句,不能出现在表达式中。