大家好,今天小编关注到一个比较有意思的话题,就是关于下列c语言中的问题,于是小编就整理了2个相关介绍下列c语言中的解答,让我们一起看看吧。
赋值语句合法的条件?
赋值语句必须是在赋值号(=)的左边是变量或对象的某个属性,不能是表达式;赋值号(=)的右边是变量值、对象属性的值、表达式的值、计算式的值、函数值等等,不能是变量或对象。
条件如下:1.由于在赋值符“=”右边的表达式也可以又是一个赋值表达式,因此,下述形式 变量=(变量=表达式);是成立的,从而形成嵌套的情形。其展开之后的形式为:变量=变量=…=表达式。
2.注意在变量说明中给变量赋初值和赋值语句的区别。给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。
3.在变量说明中,不允许连续给多个变量赋初值。 如下述说明是错误的: int a=b=c=5 必须写为 int a=5,b=5,c=5;;而赋值语句允许连续赋值。
c语言题,a=b+c=5这个赋值语句为什么不合法?
1、赋值一般形式为:变量=表达式,例如a=5。
2、变量=(变量=表达式),a=(c=5)也是合理的,即先执行c=5,再执行a=c;
3、变量=变量=…=表达式;例如:a=b=c=d=e=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;是语句,不能出现在表达式中。你题目中的 b+c 就是表达式
到此,以上就是小编对于下列c语言中的问题就介绍到这了,希望介绍关于下列c语言中的2点解答对大家有用。