c语言新手求教几个问题: 1、a=a+7=c+b为什么语法错误

如题所述

一、赋值号左边必然是变量, a+7=c+b是错误的。等号是赋值运算,这就意味着等号左边必须是被赋值的变量,显然a+7是表达式,而不是变量。

二、赋值语句是由赋值表达式再加上分号构成的表达式语句。
其一般形式为: 变量=表达式;
在赋值语句的使用中需要注意以下几点:
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;是语句,不能出现在表达式中。
温馨提示:内容为网友见解,仅供参考
无其他回答

c语言新手求教几个问题: 1、a=a+7=c+b为什么语法错误?
你好!1、等号是赋值运算,这就意味着等号左边必须是被赋值的变量,显然a+7是表达式,而不是变量。2、整形运算是只取整数部分的,你定义的c1,c2,c3均是整数,所以;c3=1.0\/c2*c1;进行的是整形运算,那么只取整数部分就是0.3、注意:在浮点型与整形等混合运算时,系统会将所有类型的数据转化成dou...

c语言新手求教几个问题: 1、a=a+7=c+b为什么语法错误?
而在问题中的语句里,y的地方是a+7,是一个表达式而非变量。表达式是不能够被赋值的,所以出现了错误。如果哪里还有疑惑,欢迎追问。

a=a+7=c+b为什么不符合c语音语法规则?
赋值号左边不能是常数

c++~赋值语句a=a+7为什么不符合C语言语法规则
题目:符合C语言语法规则的的、赋值语句是:根据这句话可以知道题目的意思是,符合规则的初始化语句a=a+7,这个语句,如果a没有初始化,就是错的。

C++中 a=7+b,c=a+7; 这个赋值语句为什么是错误的?
这个赋值没有问题啊,除非你b没有初始化或者其他形式的赋值,也就是说b如果是个垃圾值,那么这条语句,也只有语义错误。但不会有语法错误

在c语言中,a=a+7;和int(12.3%4)为什么不符合c语言语法表达式(变量已经...
a=a+7; 是赋值语句。不是表达式。表达式的运算结果应当是1个值,例如 a+7, b+c*k。12.3%4 --- % 运算,参加运算的两个 数,必须都是整型,它是整除取余数运算。(int)12.3 % 4 便可以了,因为 (int) 强制转换优先,变 12 %4 合法了。(也有些教材 把 a=a+7 称为 “...

在c++中, a=7+ b, c= a+7是什么语法?
D。a=7+b,c=a+7 赋值的语法规则就是:数据类型变量名=表达式 表达式可以理解为一个值或一个计算公式就行,表达式加一个英文符号分号就是语句。例如:我们今天要用到的,我买了几斤苹果。就可以这样写:方式一:Intapple_count=0;\/\/告诉计算机apple_count是用来存买苹果的斤数的,默认为0;...

这个c语言代码错哪里了?
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3) a=b; 前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5、忘记加分号 分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在...

...是A.a:=b+1 B.a=b=c+2 C.int 18.5%3 D.a=a+7=c+b
【答案】:B 本题考查C语言表达式的语法。A选项中“:=”不是C语言中的运算符。C选项中int是定义一个整型变量,后面不能够跟算术表达式。D选项错误地使用了赋值运算符“=”,赋值运算符只能将一个数据赋给一个变量,而不能够对表达式进行赋值。题目中a=a+7或a=c+d都是正确的表达式,a+7=c+d是...

急~c语言 (int)a=b+7为啥不合法? a=7+b+c,a++ 这个逗号难道不应该是分...
(int) a表示强制转化,左边必须有值。所以不合法。第二个,这个逗号的用法没错,但是最好别这样用,无论是逻辑上,还是对以后查错来说。都不是很好。

相似回答
大家正在搜