关于C语言的一个问题。a+=a+b||a*b-a&&b的值是多少
++ -- 都是比&& || 优先级高的运算符,所以先算++ --
b就是2 c就是0 a就是-1
然后算&& ||
2&&0||-1 = 0||-1 = 1 (|| 两边只要有一个不为0,结果则为1)
望采纳
a||b+c&&b–c,这个值不是1就是0,首先加减运算符的优先级比比较运算符优先级高,所以,要先计算b+c和b-c的值,如果这两个值有一个为0,那么这个算式就为0。只有b+c和b-c都不为0时,这个算式为1。所以a的值在这个算式中可以不考虑的。
把式子拆分:a=a+(a+b||a×b-a&&b);那么最重要的是算逻辑表达式的值对吧
可以把括号里的式子用||分为左右两边 ,那式子被分为了 a+b 和 a×b-a&&b;
关键就在于这里,由于算数运算符号优先级大于关系运算符;所以在后一个式子变成了 :
5(a+b)||4(a×b-a)&&3(b)即 5||4&&3, 5||4结果是1 1&&5结果是1 然后就变成了a=a+1得3;很清楚了吧 0.0!!
运算优先级:
a =a + (a+b) || (a*b-a) && b)
a += (a+b) || (a*b-a) && b
a += 5 || 4 && 3
a += 1
就是楼上的答案啊!然后就是a=a+1=2+1=3了哟
c语言a+= b的意思是什么啊?
a+=b 的意思是 a = a + b,意思是说讲a+b的值重新赋值到a上,b也可指一个表达式。a -=b 的意思是 a = a - b,意思与a+=b略同,b亦可指一个表达式。a *=b 的意思是 a = a * b,意思与a+=b略同,b亦可指一个表达式。a \/=b 的意思是 a = a \/ b,意思与a+=b略同...
C++中+= 是什么意思
赋值运算符中有+=运算符,其作用是在左边的变量上加上右边的值。例如 i += 1等同于i = i + 1 。从汇编的角度讲,i = i + 1 要比i += 1 消耗更多的时间和资源。现在的编译器考虑到了初学者容易犯这类错误,会自动将i = i + 1;这样的语句优化成类似i += 1;的形式。另外,自增1...
c语言printf("%d",a=a+b,b=b+a)是什么意思
4,先执行b=a+b;b=3;在执行a=a+b;a=1+3=4;所以输出4
c语言的a+b问题
在输入数据时,由于你的输入是scanf("%d %d",&a,&b);所以两个数之间应该用空格隔开。你看看你输入数据时是不是这样做的。
在C语言中,a=a+b是什么意思?
把a+b的值赋给a,比如下面这段代码:a=1;b=2;a=a+b;执行之后,a的值就是3了。
c语言c=(a+=++b,b+=4)是什么意思?
考的是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 = ...
a+= b++;在C语言中等于什么意思?
a+=b++;在C语言中,可以分成两部分来看,即 a+=b和b++;++为自加1操作,当++后置时,会先进行计算,计算后再执行++。a+=b等效于a=a+b;于是a+=b++;就等效于一下代码段。a=a+b;b=b+1;如果初始a=3,b=4;那么计算后的结果为 a=7,b=5....
C语言问题:为什么a+=5等价于a=a+5?
是多数编程语言中的一种运算符规则:a += b 等价于 a = a+b;a -= b 等价于 a = a-b;a *= b 等价于 a = a*b;a \/= b 等价于 a = a\/b;纯视频网站可能不多,学C编程或其他语言的网站很多,例如CSDN ...
c语言中int(a+ b)= a+ b是否合法?
3楼说的对,c++是合法的,c不合法,但是不是强制转换,所以不等价于(int)a。c++中可以把int当成一个class来看,k=int(a+b)相当于构造一个int对象然后赋值给k,a+b为构造函数参数,也就是初始化值,这个和自己定义的class类似。另外,c++有一系列的隐式转换,如果a+b不是int型,则编译器会寻找...
我想做一个C语言关于加法a+b的编程,即运行后输入ab,即可得到答案我这样...
问题有点多啊。include <stdio.h>int main(){ int a,b,c; printf("输入a,b:"); scanf("%d,%d", &a, &b); c=a+b; printf("c=%d",c);return 0;}