作业帮 > 综合 > 作业

新手C语言问题,a=(b=4)=3;为什么是错误的,而(a=3*5)=3*4;是对的

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/09 07:24:10
新手C语言问题,a=(b=4)=3;为什么是错误的,而(a=3*5)=3*4;是对的
a=(b=4)=3,按照运算符优先级,先运行b=4,再运行b=3,最后运行a=3,所以结果得到a、b都等于3,并没有错.


(a=3*5)=3*4;按照运算符优先级,先运行a=3*5,再运行a=3*4,最后的出a等于12.

两个都没有错啊.
你看有没有可能是中英文输入法导致的符号的问题.
再问: 若有定义语句 int a=3,b=2,c=1; 以下选项中错误的赋值表达式是( ) A)a=(b=4)=3; B)a=b=c+1; C)a=(b=4)+c;D) a=1+(b=c=4); 要选哪一个呢
再答: http://zhidao.baidu.com/question/408770636.html 看看这个问题中的解答吧,说的挺好的。 这个题目产生矛盾的原因很多了。我用的是VS2008验证的没有问题,说不定你在别的编译软件上就会发生错误。随着编程软件的发展,编译器也可能存在改变。这种题目也不考虑编译器问题,只能说o(︶︿︶)o 唉了。 考试的话就按帖子里说的选择A吧。