int a=b=c=3; C语言里面这样表达有错吗?为什么有那么多人吐槽谭浩强的书?小白实在看不出

如题所述

第1个回答  2018-05-16
int a=b=c=3;
相当于执行了c=3;b=c;a=b; 如果写在定义那里,前面必须先定义int b,c;否则就会出现变量未定义的错误。追问

噢⊙_⊙这是从谭浩强的书里面拿出来的,我我看到别人吐槽,但是不知道哪里有问题。

追答

我认为书出版,有点错很正常,能看,自己多实践操作,发现问题提出疑问是好事。
再说你学习不可能只看这一本书。不用在意别人怎么说,自己学到就行。

本回答被提问者采纳
第2个回答  2018-05-16
int a=b=c=3; 看你怎么用,这里只是定义了一个a。 b和c必须之前定义过。否则就是语法错误。
谭浩强的书 作为一本 改错练习书 还是不错的 ,教材就算了。追问

只定义了一个a?

第3个回答  2018-05-16
应该没错,你也可以 int a=3;这种格式,
第4个回答  2018-05-16
有错吧,定义a的时候,此时bc还没定义。
第5个回答  2018-05-16
不可以=是赋值的意思,==才是等于的意思,你这个从左往右赋值,bc都没值,