鱼尾纹乐队:为什么不能定义成int a=b=c=2;而要定义成int a=2,b=2,c=2;

来源:百度文库 编辑:神马品牌网 时间:2024/05/06 05:12:40

int a=b=c=2;因为这个是声明,所以不行。

但是你可以
int a,b,c;
a=b=c=2;

这样是可以的。

声明和定义是两回事情

你去找C语言的发明者吧,他规定不行的

我是自学VB的这种代码在VB中实际上是A=(B=C=2)结果是布尔值,看代码像是是C或者是J吧,我估计应该差不多。

在C语言中=是赋值运算,==是等于.
赋值运算的一般形式是:变量=表达式
赋值运算的原则是:以赋值号左边变量的类型为准.而且是右结合性,即从右至左进行运算的.
举例:
a=b=c=6 /*整个表达式的值是6,a,b,c的值也为6*/
a=5+(c=6)/*整个表达式的值是11,a的值也是11,c的值是6*/
x=(y=4)/(z=3)/*整个表达式的值为整数1,y的值为4,z的值为3*/

都不知道大家在说些什么。。。。
int a, b, c 这是在声明变量啊!
int a = b = c 你在书上有见过这样声明变量的吗?很明显,这种声明变量的方法压根就是语法错误。
如果先声明了变量 int a, b, c
然后再 a = b = c = 2 是可以的。
--------------------------------------
去看一下C语言书上对变量声明的那段是怎么讲的,用逗号隔开,可没说要你用等号隔开!
---------------------------------------
祝大家暑假快乐!