C语言,请问这题怎么做?

以下程序运行后的输出结果是()。voidmain(){inti=1,j=2,k=3;if(i++==1&&++j==3||k++==3)printf("%d%d%d\n"... 以下程序运行后的输出结果是( )。

void main()

{ int i=1,j=2,k=3;

if(i++==1&&++j==3||k++==3)

printf("%d%d%d\n",i,j,k);

}

A.
2 3 4

B.
2 3 3

C.
2 2 3

D.
1 2 3
展开
 我来答
科技爱好分享
2020-03-23 · 介绍科技、办公、互联网等相关内容
科技爱好分享
采纳数:262 获赞数:351

向TA提问 私信TA
展开全部

选C:233

解析:

  1. java 里 if判断语句 & 和 || 都是从左往右运算。

    注意:a&&b,若a为false,程序不会运行判断b;a||b 若a为true,程序不会运行判断b。

  2. i++=1 为true , i为2;++j==3为true, j为3;根据上述所以k++==3 不会执行。

  3. 输出结果:233

更多追问追答
追问
请问不应该是i++==2吗,i本来就是1再加1不就是2了吗,i++==1不应该错了吗
不好意思,我百度了下,i++是先赋值再加,我懂了谢谢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式