C语言求解

[复制链接]
查看11 | 回复4 | 2011-6-17 17:39:26 | 显示全部楼层 |阅读模式
5.以下程序的运行结果是
。(1级)
        main( )
        {
         intc,x,y;
         x=1;
         y=1;
         c=0;
         c=x++||y++;
         printf(“\n%d%d%d\n”,x,y,c);
         }
        A)110
B)211
C)011
D)001
        6.以下程序的运行结果是
。(1级)
        main( )
        {
         intc,x,y;
         x=0;
         y=0;
         c=0;
         c=x++&&y++;
         printf(“\n%d%d%d\n”,x,y,c);
         }
        A)100
B)211
C)011
D)001
可以详细说一下解题过程么 、、、谢啦、、、

回复

使用道具 举报

千问 | 2011-6-17 17:39:26 | 显示全部楼层
5.B 因为x=1,所以x++=1
c=x++||y++ 这是个或运算,或运算只要第一个为真就不继续读后面的直接跳过,因为x++=1为真所以y++就没有运行,y仍然等于1.因为为真所以c=1.所以结果就是:2116.A这里跟上面一题很像,但是需要注意的是&&是与运算,与运算是碰到假就跳出不读后面的,因为x=0,所以x++=0,x=1;所以x++为假多以y++没有运行,y仍然等于0,c也等于0所以结果就是:100...
回复

使用道具 举报

千问 | 2011-6-17 17:39:26 | 显示全部楼层
1.B 中间有x++,再次引用x,将是自加1,所以第一个数输出是2 ,而执行 c=x++||y++;中||时,由于x++等于2,是非0,所以||后的不再运算,直接使c为非0,等于1,自然y++不再执行,y=1, 选B2.A 和第一题类似,可得选A...
回复

使用道具 举报

千问 | 2011-6-17 17:39:26 | 显示全部楼层
B;A ...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行