
C语言基础题求大神 a=2,b=4,c=6, a||b+c&&b-c 的值是多少啊 为什么a<
C语言基础题求大神a=2,b=4,c=6,a||b+c&&b-c的值是多少啊为什么a<=b的值不是0啊...
C语言基础题求大神 a=2,b=4,c=6, a||b+c&&b-c 的值是多少啊
为什么a<=b的值不是0啊 展开
为什么a<=b的值不是0啊 展开
展开全部
#include<stdio.h>
int main()
{
int a = 2,b = 4,c = 6;
printf("%d\n",a || b+c && b-c);
printf("%d\n",a <= b);
return 0;
}
由于加减的优先级比"逻辑与"和"逻辑或"的优先级高,所以a||b+c&&b-c 的值为1;
而a<=b的值为布尔值,结果为真,转换成整数为1。
#include<stdio.h>
int main()
{
int a = 25,b = 14,c = 19;
a++ <= 25 && b-- <= 2 && c++ ?printf("***a = %d,b = %d, c = %d\n",a,b,c):printf("###a = %d,b = %d, c = %d\n",a,b,c);
//结果为:###a = 26,b = 13,c = 19
return 0;
}
由于a++=25,结果为真,则继续执行;b--=14>2,结果为假,所以整个三目运算表达式结果为假,则后面的c++不执行,输出:后面的结果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |