2 javaxq JavaXQ 于 2016.04.13 16:27 提问

C语言中的赋值问题,a=b=c是怎么赋值的?

在c语言中a=b=c是先将c的值赋予b,再把b的值赋予a还是先将b的值赋予a,再把c的值赋予b?

7个回答

bdmh
bdmh   Ds   Rxr 2016.04.13 16:37
已采纳

先将c的值赋予b,再把b的值赋予a

qq_33561612
qq_33561612   2016.04.13 16:38

编程输出看一下就好了。。。

qq_28684963
qq_28684963   2016.04.13 17:52

从右向左运算。。。。

herozhangbz
herozhangbz   2016.04.13 18:15

做个测试就一目了然了,你先赋值abc分别为1,2,3然后再运行这个最后分别输出abc看看是多少。结果是a=3b=3c=3

u011418829
u011418829   2016.04.15 19:12

你好。赋值运算符是从右向左运算,注意在定义的时候不能这样哦。

weixin_34999966
weixin_34999966   2016.06.03 23:04

先把c赋给b,然后被赋值后的b,把它的值赋给a

hijack00
hijack00   Rxr 2016.08.21 20:18

C语言赋值符号=的结合性是从右向左,所以是c赋值给b,b再赋值给a

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
c语言中的连续赋值问题
#include                                                                                                               int main()   {             int a,b,c;             a=b=c=21;             pr
C语言中有关两个数,值的交换
一、开讲    最近在系统的学习C语言,虽说以前在大学里学习过,但是人嘛,时间一久就会忘了。由于行业的原因,我学习了iOS,但是想学习iOS,C就是万万不能忘的。于是经过几天的时间,我终于有了一点小成就,就是有关在C里面的两个值的交换,这里或许只是一部分,希望还有知道方法的同事,不吝赐教。下面就不多说了,我们一起来看,怎么交换两个数的值,我这里面提供了三种方法。 第一种:第三方变量交换法
【C语言】C语言中赋值语句规则
赋值语句是由赋值表达式再加上分号构成的表达式语句。 其一般形式为: 变量=表达式; 在赋值语句的使用中需要注意以下几点: 由于在赋值符“=”右边的表达式也可以又是一个赋值表达式, 因此,下述形式 变量=(变量=表达式); 是成立的,从而形成嵌套的情形。 其展开之后的一般形式为:变量=变量=…=表达式; 例如: a=b=c=d=e=5; 按照赋值运算符的右接合性,因此实际上等效于
c语言:赋值运算符与赋值表达式
任务代码: #include int main () { int a printf("%d",(a=5)); return 0; } 执行情况: 知识总结: 运算符的优先级: 优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的
c语言中整数赋值和字符赋值的一些问题
int i=289 char c='a'; c=i;这个问题,因为char是一个8位的存贮结构,你把一个16位的int的结构赋值给了它,结果只能是把高位的丢掉,所以i被减了256以后赋值给了c,即低位部分赋值给了c你在c='a'时,c存的是97但你后来把i也就是289给了c,所以值溢出了,(为什么这里i被剪掉的是256呢,这个256是怎么算出来的?) 补充:289是10进制 转换到8进制是000
C语言: 结构体的赋值
结构体在 C 程序中使用的较为频繁,能对数据有一定的封装的作用。对一个结构体赋值时,经常采用的方式是,分别对其成员变量赋值。那么能否将一个结构体用赋值号(“=”)直接赋值给另一个结构体呢?网上的答案不一,有说可以的,有说不可以的,有说这样的话两个结构体共用一块内存空间。我们可以从汇编语言的角度来看这个问题,测试程序://test.c #include <stdio.h>int main() {
C语言中变量未赋值问题总结
全局,静态变量,一般默认为0;  局部变量在栈上,取决于此处原来的数据,如果不初始化的话;  动态变量在堆上. 正是如此 一般来说 全局变量、静态变量处于数据区,默认初始化为0 (如果指定初始值,则为指定的值) 而局部变量处于堆栈区,其数值是随机的,即当时内存中的值。 总体来说 不要利用编译器的这种默认原则 而是应当显示的指定 必要的初始化不是笨拙 而是规范
C语言的赋值++是否为原子操作
相关概念: 时钟周期、总线周期和指令周期 1.时钟周期:微处理器执行指令的最小时间单位,又称T状态。它通常与微机的主频有关。 2.总线周期:CPU对存储器或I/O端口完成一次读/写操作所需的时间。如8086微处理器的基本总线周期由四个时钟周期T1~T4组成,80486微处理器的基本总线周期由T1和T2两个时钟周期组成。当外设速度较慢时,可插入等待周期Tw。 3.指令周期:CPU执行一条指令
C语言中给指定的内存地址赋值(通过指针)
应用中的实际问题:通过I2C接口发送到MCU一个地址数据(unsigned char AdData),一个待写入数据(unsigned char DaData)。 希望将DaData的值写到MCU内存地址为AdData的寄存器当中。代码如下:   unsigned char * pReg; // 创建一个指针变量 pReg = (unsigned char *) AdData; // 将
C语言中字符串赋值处理方式
C语言中,字符串可以赋值给字符指针变量,或者将字符串用字符数组保存。因为c语言没有直接对字符串提供语法糖方面的支持。而且C标准库很多方法处理字符串是以空字符结尾为前提的,这个必须要记住。char *p,a='5'; p=&a; //显然是正确的, p="abcd"; //但为什么也可以这样赋值??答: 双引号做了3件事: 1.申请