C语言中连续赋值问题
C语言中可以进行连续赋值,如a=b=c=1,“=”运算符是从右至左结合,意味着先将1赋给c,再将c赋给b,再将b赋给a,此时 a,b,c都是1,即完成了连续赋值。但是定义时连续赋值违反了C语言中先定义后使用原则,即定义时连续赋值编译器会报错。
错误写法:定义时连续赋值
#include<stdio.h>
int main()
{
int a=b=c=1;
printf("%d,%d,%d\n",a,b,c);
return 0;
}
正确写法
#include<stdio.h>
int main()
{
int a,b,c;
a=b=c=1;
printf("%d %d %d\n",a,b,c);
return 0;
}
输出
1 1 1