C语言程序中a=b==c是什么意思

   更新日期:2024.05.03

首先因为“==”号比“=”的优先级高,所以先执行b==c,明显b等2,c等3两者不等,所以为0(逻辑运算,当b不等c时这个等式的值就为假即是0),再执行a=0,就把0值赋给了a。

1、赋值语句本身也是一个表达式,也是有返回值的,它的返回值就是赋值给变量的值,比如b=1这个语句,会把1赋值给b,但是它本身也是个表达式,这个表达式的返回值为1。

2、赋值语句是先算等号右边的值,把右边的值赋值给左边的变量

3、分析一下a=b=c,按照赋值语句的运算方式,计算右边的表达式,也就是b=c。

4、右边的表达式b=c是一个赋值语句,先值b赋值,b=1,然后返回这个表达式的值,就是1。

5、把1赋值给a,返回a=1的值,也就是1。因为代码没有用到这个表达式的返回值,所以被丢弃了。

扩展资料:

C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。

当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言的汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。

冯.诺依曼在1945年提出了现代计算机的若干思想,被后人称为冯.诺依曼思想,这是计算机发展史上的里程碑。自1945年至今大多采用其结构,因此冯.诺依曼被称为计算机之父。他的体系结构计算机由运算器、控制器、存储器、输入设备、输出设备五大部件构成。

参考资料来源:百度百科-c语言

参考资料来源:百度百科-c语言运算符号



首先,你要知道==操作符的优先性是比=高的。
所以a=b==c,先运算b==c,这个表达式的含义是,若b与c相等,那么得出的值为1,若不等则为0.而根据你的定义,b=2,c=3,显然两个数不等,所以a=0.

b==c表示判断b是否等于c,如果等于那么整个表达式的结果就为1,不等于就为0.而a=b表示的是赋值表达式,优先级小于判断表达式,所以先执行b==c,显然b是不等于c的,所以后面的结果为0,然后将0赋值给

首先因为==号比=的优先级高,所以先执行b==c,明显b等2,c等3两者不等,所以为0 (逻辑运算,当b不等c时这个等式的值就为假即是0),再执行a=0,就把0值赋给了a,这就是结果,,明白了吧。。

==是关系运算符,b==c的意思是判断b是否等于c,因为2不等于3,所以b==c这个表达式的值为0,然后再将0赋值给a ,所以a=0.

  • 14796513237 :c语言中a= b= c的区别是什么?
    吉陶希738 :答:1、若为真,a为1则该表达式为真,即该符合表达式的值为1。2、若为假,a不为0则该表达式为假,即该符合表达式的值为0。二、a=b>c和a=(b>c)是一样的表达方式,先判断b>c是否成立,如果成立,把1赋给a。1、...
  • 14796513237 :C语言中的a=b=c何解???
    吉陶希738 :答:将c赋值给b,再将b赋值给a!也就是说——a b c中的值是一样的!将其分解就是楼上的:b=c;a=b;
  • 14796513237 :C语言中.c=a; a=b; b=c;意思是a,b的值互换`这句什么意思。!
    吉陶希738 :答:c=a; 先把a的值赋给c,就是把a的值保存在c那里,a=b; 再把b的值赋给a,b的值就到a那里去了,b=c; 再把c的值赋给b,就是把以前a的值(在c那里保存着)赋给b 这样a的值就到b那里去了,实现了值的...
  • 14796513237 :C语言里面 a=b; b=c; c=d; 是什么意思?顺序什么样?
    吉陶希738 :答:a=b; //把b的值赋给a b=c; //把c的值赋给b c=d; //把d的值赋给c 赋值顺序:自右向左 执行顺序:从上到下 下面的结果是:2 3 4 4 自己好好消化消化 include <stdio.h> void main(...
  • 14796513237 :c语言问题。 a=b!=c什么意思? a==(b=c++*3)什么意思? a=b>c>2什么意...
    吉陶希738 :答:a=b!=c 等价于 a=(b!=c),b!=c是关系表达式,值为1或0,再把这个值赋给a a==(b=c++*3) 相当于 a==(b=c*3),++c;a=b>c>2 等价于 a=((b>c)>2)
  • 14796513237 :C语言中(a=b,c)的值是什么?
    吉陶希738 :答:(n1,n2,...,n,...)的这种形式是表示逗号表达式,他的意思就是无论你的括号里有多少个数或式子,他最后的值都是括号里面最后的一个数或式子,比如说你的这个题(a=b,c)那么这个逗号表达式的最后答案就是括号里面的...
  • 14796513237 :请问c语言中 a==b?c:d 和 a?b == c :d这两个三目运算是什么意思?
    吉陶希738 :答:第一个理解是对的。第二个,如果a的值是0,结果就是d,如果a不为0,结果就是b==c的值,b==c是关系表达式,其结果是逻辑值1或0
  • 14796513237 :C语言中 a=b,c 和a=(b,c) 的值分别是多少
    吉陶希738 :答:a=b,c) 这样d的值就和c的值一样了,所以在a=b,c;之后a和b的值一样 在第二个表达式中,逗号表达式用括号括起来了,所以先计算逗号运算,结果为最右边的值,所以括号后的结果就为c的值,这时a和c的值相等 ...
  • 14796513237 :c语言中b=a:a=c:c=b是什么意思
    吉陶希738 :答:b=a是把数据a中的值赋予给b;a=c是把数据c中的值赋予给a;c=b是把数据b中的值赋予给c;看得出来,这段代码的作用是交换a和c的值,也许你是一个初学者,无法理解b=a这个表达式,其实学习编程不要局限在数学上,很多...
  • 14796513237 :C语言中a=b,意思是说把b赋值给a,还是说把b里面的值赋值给a?
    吉陶希738 :答:当a和b为指针时, a=b, 是把b的指向赋值给a, 让a也可以指向b的指向,b的指向不变;比如 a=1 b=2 c=3,把b赋值给a 就是 a=b 因为b是等于2的 现在 a=b=2。把b值赋给a指的是把b的值代入a里,打个...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网