以下程序的输出 main() { int i,j,k,a=3,b=2; i=(--a==b++)?--a:++b; j=a++; k=b printf(i=%d,j=%d,k=%d\
以下程序的输出
main() { int i,j,k,a=3,b=2;
i=(--a==b++)?--a:++b;
j=a++;
k=b;
printf(i=%d,j=%d,k=%d\n,i,j,k)
这道题i=(--a==b++)?--a:++b; 表达式是真值取表达2的值.但是表达式3还需要再做嘛!因为下面在输出k值是应该直接输出b=2还是上步的++b的结果.
但是答案是3
以下程序的输出 main() { int i,j,k,a=3,b=2; i=(--a==b++)?--a:++b; j=
答案:1 悬赏:20 手机版
解决时间 2021-05-21 18:35
- 提问者网友:疯孩纸
- 2021-05-20 19:49
最佳答案
- 五星知识达人网友:蕴藏春秋
- 2021-05-20 20:57
先执行(--a==b++)后a=2,b=3;然后执行--a结果a=1,所以i=1;j=1++结果为1,由于表达式3没有执行所以k=b=3.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯