c语言c(ab,b+4)是什么意思

2020-11-26 08:33:34 字数 4992 阅读 8905

1楼:匿名用户

考的是c语言运算符优先级问题,

c=(a+=++b,b+=4)

1、++运算符优先级高于+=;

2、,运算符优先级最低,先求,号前的表达式,再求,后的表达式,最后结果为,后的表达式结果。

假设a=5,b=8

首先,a+=++b,得到 b = b+1 = 9;a= a+b= 5 + 9 = 14;

其次,b+=4,得到b = b+4 = 13;

最后,c=13.

建议你上机编程运行。

2楼:

++b;

a=a+b;

b=b+4;

c=b;//c等于最后一次计算的结果

c语言中c=(++a,b++,a++,++b);表示的是什么意思?

3楼:日の影

自增自减运算。表示对自身进行a=a+1或者a=a-1的运算。

++a表示在调用前就a+1,a++表示在调用后+1。

int c=(++a,b++,a++,++b);这个逗号隔开的表示用最后一个式子对c进行赋值。这段执行的时候先执行 ++a a=11,b++ b=11,接下来a++ a=12,++b b=12。把最后一个的式子的值赋给c 所以c等于12。

如果自后一个是b++的话 那么c就是等于11。因为是调用后再自增。

4楼:怜幽幻月

返回最后一个表达式的值。

5楼:幸运的白色

逗号运算符优先级就ok了

c语言中c=(a+b,a++,b+1);什么意思

6楼:匿名用户

逗号表达式的取值,是最右边一个表达式的值

程序先计算逗号表达式最左边的式子a+b,计算结果没有保存,对a,b,c的取值没有影响[a=1,b=2]

然后计算a++[a=2,b=2]

然后计算b+1[b+1=3,a=2,b=2],计算结果会当作整个逗号表达式的最终取值赋值给c[a=2,b=2,c=3]

7楼:匿名用户

逗号运算符的作用,取最后一个,所以结果会是后面的。

相当b=b+1;

//因为是a++,所以忽略

c=b;

8楼:邪眼王·飛影

(a+b,a++,b+1)是逗号表达式,从左到右执行,值为最右边的,b+1=3,结果为3

c语言中语句a+=b++是什么意思

9楼:匿名用户

先解释一下 += 和 ++ 是

什么意思+= 的意思是 左值和右值相加结果赋值给左值如 a=1;b=2;a+=b;后,a=3;b=2。++ 的意思是变量自加1,如a=1;a++;a的值是2,在c中,++有前置和后置如 ++a;a++;,单独使用的时候是没有区别的,都是自加1,在有运算时就有区别了,前置的++是自加后才参与运算,后置的++是参与运算后在自加1。如题的画,假定a=1,b=2,a+=b++的意思就是b=2先参与a+=b运算a=3,然后b自加1,b=3;如果b++换成前置++b,a+=++b就是b先自加1,b=4,然后参与a+=b运算,a=4。

10楼:白萝卜

a+=b++要先进行a+=b的运算,然后再进行b的自运算举例a=1,b=2,则a+=b++,有a=a+b=1+2=3,b=b+1=3.

11楼:匿名用户

a+=b++的意思是a=a+b,然后b=b+1,就是这样,你应该是初学c吧!!

12楼:匿名用户

a+=b++等价于a=a+(b++) 运算时,先计算括号里面的b++即可。 有疑问提出。 望采纳

13楼:哀韶萧贝晨

要说在c语言中这充其量只能算作是“伪**”。

在vb、pascal等程序设计语言中,<>是“不等于”的意思。

在c中,“不等于”的关系应表示为“!=”

if(a

!=b+c)

printf("a不等于b+c\n");

else

printf("a等于b+c\n");

c语言a+=b++==0表示什么意思

14楼:匿名用户

首先,b++表示对b做自加运算,我们用c代替,c=b++;

然后,a+=b++ 等于 a+=c,即a=a+c,也就是说“==”之前部分是给a赋值的,我们用d代替,即d=a+c;

最后是一个逻辑判断d==0,也就是判断前面计算出来的a是否等于0.

这里要注意的一个地方是b++,不是++b,也就是说在当前这一次判断的时候b并不自加,而是在当前判断执行完之后才自加1.

比如初始a=1, b=2,b没有自加,a=a+b=1+2=3,那么这句话这次是在判断“3==0”,下次再判断的时候b才自加变成了2,a=a+b=3+2=5,相当于在判断“5==0”,依次类推即可。

15楼:匿名用户

符号的优先级是:

在这个算式中是++最高

++是2级,其次==是7级(先左后右),最后是+=是14级这里单指加了以后的赋值(先右后左)

然后关于==我做了个小验证,

#include

int main(void)

结果是a为0,b为3。说明在用==(等于)的时候不像=(赋值)完全改变了赋值对象的值只是单次的改变一次对象的值。

例如你的a=1,b=2

计算顺序是先b做自加1操作这时b才变为3,然后做b==0,如上的小验证,做了这个运算后不会改变b的值(这是b里面的值还是3)只是在参加运算的时候b单次变为0,,然后做a+=b(这里的b为0)故这时候a还为1。所以执行这个语句以后a=1,b=3。

以上只是自己个人的观点,不一定对但还是希望能帮到你。

参考资料:http://wenku.baidu.***/view/f57f4e10f18583d04964594f.html(字符优先级表)

16楼:中械

其实是a=a+b++==0的简写;从运算符的优先级可知:++最高,+次之,==再次之,而=最低,即先进行b++运算,在进行a+(b++)运算,其次进行a+(b++)==0运算,最总吧a+(b++)==0的结果赋给a。这个可以编程应正。

17楼:匿名用户

2b表示1234等很多数字。

c语言中c=(a+b,a-b)什么意思

18楼:和蔼的杰尼

逗号表达式

每一个表达式都会计算

取得是最后一个表达式的值

所以c=a-b

不过要注意的是前面的表达式如果有++,--操作符的时候

c语言中(a-b,b+4,a-=b+4),是不是要从右往左计算???谢谢!

19楼:厦门欣中特科技

逗号运算符是从左往右算的

20楼:庚琰

不太清楚您的意思

(a-b,b+4,a-=b+4),整体从左往右。每一个分式从右往左赋值。

如果a=2,b=1则:

整体为(2-1,1+4,a-=(5))=》((2-1,1+4,a=a-5)=》(2-1,1+4,a=-4)

这样吧。

c语言中:a+++b是什么意思?

21楼:湛蓝水晶

就近原则,与编译器无关,很容易记的。

相当于(a++)+b;

但是太多+号就不行了,

比如a+++++b,虽然一看就知道意思是(a++)+(++b);但是编译就通不过,出错信息大概是:迷失在加号空间?

22楼:幸巴达

呵呵,不用管,结果是一样的

都等于a+b

#include "stdafx.h"

#include "stdio.h"

int main(int argc, char* argv)结果 a=2,b=2,c=3

23楼:匿名用户

是(a++)+b如果是a+(++b)的话答案应该是4,前者答案才是3

24楼:天曼安周圣

这是(a%b)?b:a

其中a%b

是a除以b取馀数,

若不等於0

(也就是b不整除a)就当成立,

整个式子是取b的值.

若等於0

(也就是b整除a)就当不成立,

整个式子是取a的值.

c语言的表达式这样写是合法的吗?a=(b=4)+(c=6);

25楼:有钱买不起房子

在tc和vc下都能编译通过,而且输出为10a=(b=4)+(c=6);

()优先级最高,所以先处理()里面的表达式,这样b=4,c=6,a=4+6.

如果不加(),那么a=b+4+c=6将是错误的赋值语句,因为+优先=,所以先处理b+4+c,这样等号左边出现常量4是非法的。

26楼:匿名用户

程序没有错呀,我编译可以过,可以正常执行

27楼:待翼年代记

**编译上没问题啊,vc++6.0运行通过是不是结果不对啊

没用过turboc,不是很懂,但是windows1.0是不是古老了一点啊,应该是lz编译器问题吧

28楼:匿名用户

确实没有错,我在后面加上getch(),立刻就读出来了10

29楼:苗涵瑶贰圣

不合法>

操作符的级别比=要高

所以上边的表达式就相当于a=

(3>b)=5

=操作符是从右到左结合的,所以先执行的是

(3>b)=5;

3>b的结果不能做为一个左值,所以赋值是非法的

这个表达式编译会报错。

c语言c中间加数字是什么意思,C语言%c中间加数字是什么意思

1楼 灰灰不吃羊 限制输出宽度, 2c,就是输出的宽度为2, c省略了1,c的输出格式控制会有详细的介绍。 c语言里 f中间加数字是什么意思 2楼 匿名用户 f是用于格式化输入输出函数,对应类型为float的格式字符。加数字的情况仅适用于输出函数,比如printf。 其形式为 printf a bf...

装C是什么意思,C语言/*……*/是什么意思

1楼 神丶雨祭丨 装c 装。b 只不过好听一点不想爆粗口 希望采纳,你的支持是我们的动力! 2楼 安安静静活几年 就是比装逼 b 更厉害的当时是装c了 c语言 是什么意思 3楼 安徽电信网上营业厅 是c语言注释的起始标识。 在c语言中,可以使用 作为注释文字的起始和结束标识,在 和 中间的文字,将不...

C语言K++是什么意思,C语言 K++什么意思

1楼 贪吃的xiao熊 k 3 就是 k k 3的意思 c的值是 b ,那么进入switch语句时为第二条case语句,执行k 2,此时k 6,由于没有break语句,即不跳出switch,那么继续执行第三条case语句,此时k 7,输出结果,完毕! 延展 c语言 c语言是一门通用计算机编程语言,应...