k=i=j;语法正确,a=b+c=1;语法错误 赋值语句(=号)执行“右结合”方式,即先计算右边的内容。且赋值语句的左边,只能为变量,不能为常量、表达式。由上述赋值语句的特性来看,第一个式子可分为:i=j;k=i;2条,均符合C语言要求。第二个式子,增加了 加法运算,加法的优先级高于 =号,故...
是正确的。定义变量a,b,c且没有赋初值的情况下,如果a=b=c这是会报错误的,当a=b=c=1;这样应可以翻译成c=1;b=c;a=b;语句是正确的。
a=1才是赋值语句,a=b+c不是
不对的,它是从右往左运算先会将1赋值给b+c,这个赋值就会出错
在C语言中,a += 1 和 a = a + 1 等价,但与a++有区别。虽然三者最终令 a 增加一,但a += 1 和 a = a + 1 的求值结果是加一之后的值,a++的求值结果是加一之前的值。#include <stdio.h>int main() { { int a = 123; printf(\"%d\\ ...
等号右边不能是变量 他的执行顺序是 a=b,b=c,c=d,d=1 应该反过来 d=1,c=d,b=c,a=b就对了
赋值端左面只能是一个存储数据的符号。。你这里1赋值给b+c,这是不行的。b+c不是一个存储数据的符号。我建议你买本清华大学C++版的工具书,谭浩强出的。。那本书里比较详细。
因为第一个式子有两个赋值符号 而第二个是一个赋值符号和一个比较符号 根据结合顺序 第二个式子相当于 k=(i==j)判断i是否等于j 如果等于 则(i==j)的值为1 如果不相等 则(i==j)值为0 再把这个1或者0赋给k 这样就是正确的
亲,你好,是正确的 这是逗号表达式不是赋值语句,如果要是赋值语句应该是a=1;b=2;但我还是没搅清楚,书上说逗号表达式是要依次执行的,但只输出最右边那个式子的值 。所以我总认为1的确赋给了a而2的确赋给了b,所以这为什么不是一个正确的赋值语句呢。那int a=1,b=2;呢 附张图 ...
不可以int a=b=c=1;但可以int a,b,c; a=b=c=1;因为前面有int的表示变量定义语句,后面只能是一系列的变量,这些变量可以有初值,但是不能有语句。懂汇编的人很容易理解这个为什么。因为int a,b,c;翻译为汇编就是:a dw ?b dw ?c dw ?而int a=1,b=1,c=1;翻译为汇编就是:a dw...