c语言中a=b=5这种赋值是什么意思啊

是否合法 是不是先把b的赋值给a 在把5赋值给b???
例 a=b=5; printf("%d,%d",a++,b++); printf("%d,%d",b++,a++) ;
会有什么结果啊 解释一下 3Q 我穷啊 没有分

是合法的。
赋值运算的结合方向是由右到左,即右边的值赋给左边,如题:a=b=5则是将5赋给b再赋给a,可以理解为同时给a和b赋值5。
例 a=b=5;
printf("%d,%d",a++,b++);
printf("%d,%d",b++,a++);
运行结果为:
5,5
6,6
自加(减)号在变量后面,应先使用变量后再自加(减);
自加(减)号在变量前面,应先对变量自加(减)后再使用。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-14
合法。x=y算是一个赋值表达式,其值为赋值号左边的变量。a=b=5相当于a=(b=5)
是先把5赋给b,再把b赋给a

c语言中a=b=5这种赋值是什么意思啊
是合法的。赋值运算的结合方向是由右到左,即右边的值赋给左边,如题:a=b=5则是将5赋给b再赋给a,可以理解为同时给a和b赋值5。例 a=b=5;printf("%d,%d",a++,b++);printf("%d,%d",b++,a++);运行结果为:5,5 6,6 自加(减)号在变量后面,应先使用变量后再自加(减);自加...

C语言可以连续赋值么?如c=a=b=5???说详细哦
定义变量a,b,c且没有赋初值的情况下,如果c=a=b这是会报错误的;当c=a=b=5;这样应可以翻译成b=5;a=b;c=a;因此语句是正确的。

C语言可以连续赋值么?如c=a=b=5???说详细哦
可以连续赋值,编译器是从右往左赋值,c=a=b=5就按照b=5,a=b,c=a赋值main 前带void表示main函数返回类型为空类型 在较早的编译器下,main前面不带void也可,编译器会默认为void返回类型。

c语言中 赋值a=b=5,要是后来b=3了,a是否也也随b一起变化
赋值是分别赋予a和b两个不同的存储单元,但赋地址只是将两个指针指向同一个存储位置罢了

a=b=5;是合法的赋值语句吗
是合法的。首先5赋给b,b的值是5;然后b赋给a,a的值也是5

c语言a=b=5合法吗
不合法的。在C语言里,要想将5赋给b和a这两个变量,可以写成“a=5,b=5,”,也可以写成“a=5,b=a,”,但是不能写成a=b=5,因为这是不合法的,在编译时编译器会报错。C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。

c语言中a=b=5的值
啊,看错,原来前面是个中文的=...--- 表达式错误...==优先级高于= (a==b)=5 (a==b)不可以用作左值...

C语言可以连续赋值么?如c=a=b=5???说详细哦
2. 如果op2优先级高于op1,则为:a op1 (b op2 c)如果op1与op2优先级相同,则取决于结合方向。所谓结合方向指的是“从左至右”或“从右至左”。结合方向 关于结合方向,我们一起来探讨一下,还是刚刚的例子:x = a+b *c -d,这里面有二元运算和赋值运算,在c语言中:l 赋值运算的结合方向为...

在C语言中a=b=0;和a=b==5;是不是赋值语句
是赋值语句。--- 第一个 先 b=0 后a=b 所以a也为0 --- 第二个 先比较b与5,相等则a=1 不相等则a=0 --- 等价于 a=(b=0);a=(b==5)

请问c语言中a=b=5,b=a++后那么b的值是多少呢。谢谢啊如果是换成b=++a...
如果b=a++; 那么就是先把a的值赋给b,然后a=a+1,也就是说此时b=5;如果换成++a的话,那就是先执行++a,即a=a+1,然后再把改变以后的a的值赋给b,即b=6。可以查一下各运算符的优先级确定哪个运算先执行。

相似回答