永发信息网

c语言 请读程序: int x=10; int y=x++; printf("%d,%d",(x++,y),y++); 则上面程序的输出结果是___

答案:4  悬赏:40  手机版
解决时间 2021-03-27 23:58
  • 提问者网友:酱爆肉
  • 2021-03-27 18:07
c语言 请读程序: int x=10; int y=x++; printf("%d,%d",(x++,y),y++); 则上面程序的输出结果是___
最佳答案
  • 五星知识达人网友:北城痞子
  • 2021-03-27 18:51
c是正确答案
因为int y=x++之后,y=10,x=11
(x++,y)输出y,y=10
然后y++,先输出y=10,然后y才为11
所以答案是10,10
如果再加上printf("%d",y),会显示为11

所以,你的选择是正确的追问程序运行的答案是a啊追答不,我运行的答案是C,绝对是C
全部回答
  • 1楼网友:笑迎怀羞
  • 2021-03-27 21:08
VC++6.0运行是C答案,没错
  • 2楼网友:轻雾山林
  • 2021-03-27 20:50
你选的是对的,答案就是C,当执行到y=x++时,因为y=x++是先运算后自加,所以y的值是10,此时x值后加变成了11,当执行printf()函数时,因为printf()函数运算是从最后运算的,所以首先运算的是y++,因为y++还是后加加,所以y的值还是10,在运算y,所以第二个输出的结果还是10,因为题中的printf()函数输出的只有两个结果,所以x++是不运算的,ok,完了追问程序运行的答案是a啊追答我运行的就是C,绝对没问题
  • 3楼网友:玩世
  • 2021-03-27 20:30
x y 操作
10 - int x=10
11 10 int y=x++
后面的就没影响了。直接输出了追问逗号表达式不是总是显示最后一个表达式的值么?所以第一个输出的应该是y不是么?追答是C,看错了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯