以下程序的输出结果是 main( ) { int x=10,y=10,i; for(i=0;x > 8;y=++i) printf("%d,%d ",x--,y)

以下程序的输出结果是main(){intx=10,y=10,i;for(i=0;x>8;y=++i)printf("%d,%d",x--,y);}(3分)A、B、C、D、... 以下程序的输出结果是

main( )
{ int x=10,y=10,i;
for(i=0;x > 8;y=++i)
printf("%d,%d ",x--,y);
}(3分)
A、 B、 C、 D、
A、 10 1 9 2
B、 9 8 7 6
C、10 9 9 0
D、10 10 9 1
展开
 我来答
kingfeng588
2012-05-24 · TA获得超过2494个赞
知道大有可为答主
回答量:1475
采纳率:50%
帮助的人:1796万
展开全部
D、10 10 9 1

第一次执行
for(i=0;x > 8;y=++i) // 此时x = 10, 这句y=++i要循环体执行完后执行,即执行完printf后,在执行到for时。
printf("%d,%d ",x--,y); // 先输出后计算,所以输出10,10,之后x执行减一,x=9.

第二次执行
for(i=0;x > 8;y=++i) // 此时x=9,i=1,y=1,
printf("%d,%d ",x--,y); // x=9,y=1输出9,1,结束后x=8.

第二次执行
for(i=0;x > 8;y=++i) //由于x=8,不满足条件所以退出循环。
毕戈夫斯基
2012-05-24
知道答主
回答量:20
采纳率:100%
帮助的人:8.6万
展开全部
我简单的分析下:
x,y 均初始化为10,
第一次循环, i=0; (x=10)>8; y=1 输出10, 1;
第二次循环,i=1; (x=9)>8; y=2; 输出9, 2;
第三次(x=8)>8 不成立, 退出;

此题考察你 ++ 运算符,
x++ : 先运算x, 再+1;
++x : 先+1, 再运算x;

-- 运算符同理;

(另外说一句, 以后提问最好给分, 一般没人会高兴回答的)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
左珈蓝誉0ig036
2012-05-24
知道答主
回答量:8
采纳率:0%
帮助的人:6229
展开全部
D、10 10 9 1 我补充一点 y出现过2次 y=10,y=++i 这是C函数变量作用域 外层代码块的变量总是有效的,除非内层的代码对该变量名进行了重新定义,如果内层代码对外层代码块中的变量名进行了重新定义,那么在此内层代码块中,外层代码块的变量就被隐藏
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式