以下程序的输出结果是 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 展开
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 展开
3个回答
展开全部
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,不满足条件所以退出循环。
第一次执行
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,不满足条件所以退出循环。
展开全部
我简单的分析下:
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;
-- 运算符同理;
(另外说一句, 以后提问最好给分, 一般没人会高兴回答的)
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;
-- 运算符同理;
(另外说一句, 以后提问最好给分, 一般没人会高兴回答的)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
D、10 10 9 1 我补充一点 y出现过2次 y=10,y=++i 这是C函数变量作用域 外层代码块的变量总是有效的,除非内层的代码对该变量名进行了重新定义,如果内层代码对外层代码块中的变量名进行了重新定义,那么在此内层代码块中,外层代码块的变量就被隐藏
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询