77问答网
所有问题
如果int a=i,b=2,c=3,d=4;则printf("%d",a>b? a:c<d? c:d);的结果是多少
如题所述
举报该问题
其他回答
第1个回答 2020-05-20
真价值判断
首先确定优先级
((a>b?
a:c<d)?c:d))
我们知道b=2,所以如果a>b
那a一定大于2。。。
由此可见
无论a>b是否成立
a不为0
c<d
为真值
所以(a>b?
a:c<d)一定为真。。所以结果是3。输出的是c值
相似回答
如果int
a=
1
,b=2,c=3,d=4则printf(
"
%d,a
>
b?a:c
<
d?c:d
"
);的
结果为什么是...
答:
a:(c
<
d?c:d)
意思是
如果a
>b就返回a,否则就返回c<d?c:d c<d?c:d就是如果c<d就返回c,否则返回d. 很明显,c<d,所以后面返回的是
c=3
. 这边的话整句话就是a>
b?a:
3 如果a>b就返回a,否则返回3. 明显a<b,所以返回3. 这种运算是从右边第一个冒号为一个点,开始计算, 先算:d,结果...
C
语言中设a=1
,b=2,c=3,d=4;
执行
printf(%d%d%d
\n"
,a=
=b==c,c=a==b...
答:
第一步:b=c 其他值 a b c
d
1 3 3 4 第二步
:c==(a=b)
先运行a=b,值为3,在运行
c==3,c的
值为3, 结果为1,其他的值 a b c d 3 3 3 4 第三步
:c=a==b
先运行a==b,第二步可以看出
a=3,b=3,a==b的
值为1,将其付给c ,即c=1 其...
c语言题
int
a=
1
,b=2,c=3,d=4,
e=5; k=a>
b?c:d
>e
?d:
e;求k
答:
include <stdio.h>int main(void){ int
a=
1
,b=2,c=3,d=4
,e=5
;
printf(
"%d\n",a>
b?c:d
>e
?d:
e); return 0;}运行结果:5 include <stdio.h>int main(void){ int a=1,b=2,c=3,d=4,e=5; printf("%d\n",a<b?c:d>e?d:e); return 0;}运行结果...
...{ int
a=
1
,b=2,c=3,d=4,
m=2,n=2; (m=a>b)&&(n=c>
d);
printf(
"
%d
...
答:
printf(
"%d",&n);//表示以十进制输出变量n的地址,变量地址由操作系统管理,其值是不确定的。我机器输出:1244944
...{ int
a=
1
,b=2,c=3,d=4;
printf(
"
%d
\n",(a+
b,b
+
c,c
+
d));
}...
答:
这里的(a+
b,b
+
c,c
+d)是一运算表达式,有"+"运算和","运算
,printf(
"%d\n",(a+b,b+c,c+d))就是将这个运算表达式的结果打印到屏幕上。
...
a=
1
,b=2,c=3,d=4;
printf(
"
%d
\n",(a+
b,b
+
c,c
+
d));
答:
c++先运算(++的优先级高于+),但是由于是++在后所有实际参与运算的C的值是原值,而不是加过以后的值 然后再算b+(c++
):
2
+3 根据前面的分析c做了加一运算,所以c最终结果为4 a=5
,c=4
设有
:
int
a=
1
,b=2,c=3,d=4,
m=2,n=2; 执行(m=a>
b)
&&(n=c>
答:
1> 答案是:n = 2;2> 问题具体分析如下:(m=a>b)&&(n=c>d) 分析: && 有短路特性,即 m= (a>b) 为假则整个表达式为假,不计算(n=c>d) 所以n=2;3> 测试程序:include int main
(int
argc, char **argv){ int
a=
1
, b=2, c=3, d=4,
m, n;m=n=2;if((m=a>b)...
大家正在搜