为什么不能定义成int a=b=c=2;而要定义成int a=2,b=2,c=2;
来源:百度知道 编辑:UC知道 时间:2024/05/15 23:49:28
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语言书上对变量声明的那段是怎么讲的,用逗号隔开,可没说要你用等号隔开!
---------------------------------------
祝大家暑假快乐!
为什么不能定义成int a=b=c=2;而要定义成int a=2,b=2,c=2;
已知int a=1;int b;b=(++a)+(++a)+(++a);为什么b=10?
int *a=0,*b=0; 定义语句对吗
int a[3],b[3];a={1,2,3};b=a;有什么问题?为什么不能赋值?
void a(int a,int b=0)的含义?
fun1(int a,int b)
int a=5,b; b=++a*--a;
int a=b;与int a,b;a=b;的区别
unsigned int a=2;int b = -3;
CSum(int a=0,int b=0){nSum+=a+b}