C语言的定义

来源:百度知道 编辑:UC知道 时间:2024/04/29 22:31:31
int x=y=z=1;这样定义是对还是错
举一些定义错的例子看看
这是对的还是错的..答案是错的..重定义!!为什么?

书上看到的:int a=5,b=5; 给变量a,b均赋初值5。即使给若干所定义的变量赋相同的值,也不允许连续赋值,int a=b=5;是不合法的。
如果是表达式,如a=b=4等价于a=(b=4),把表达式b=4的值4赋给a是可以的

没错儿,在c里面,赋值也是一个表达式,所以是可以的
比如上式,z=1是一个赋值表达式,它给z赋了1,同时z=1作为一个表达式,整个的值是1,于是再将1赋给y,同时y=1这个表达式值又是1,以此类推。