c语言中考试
答案:3 悬赏:10 手机版
解决时间 2021-05-24 09:20
- 提问者网友:饥饿走向夜
- 2021-05-23 18:46
#include
main()
{
int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d%d",x--,y);
}
的解题过程???(答案为10 10 9 1,问why 中Y的值为10)
最佳答案
- 五星知识达人网友:行路难
- 2021-05-23 20:09
1010
91
是正确的,你问为什么第一行Y=10吗?
第一行Y没有变化过,就是他的初始值10呀。
y=++i是第一轮循环结束后才执行的。
91
是正确的,你问为什么第一行Y=10吗?
第一行Y没有变化过,就是他的初始值10呀。
y=++i是第一轮循环结束后才执行的。
全部回答
- 1楼网友:神鬼未生
- 2021-05-23 21:51
题目主要考察的是循环及自增自减的用法,因为++i是在当前语句前自增,而i++是在当前语句后自增,代码可替换如下:
#include<stdio.h>
main()
{
int x=10,y=10,i;
for(i=0;x>8;i=i+1,y=i)
{
printf("%d%d",x,y);
x=x-1;
}
}
不难理解,x,y的初始值都为10,在输出printf之后x才变为9,下次循环的时候y才变为1
所以第一次输出时10 10
第二次输出时9 1
- 2楼网友:一袍清酒付
- 2021-05-23 21:13
看错了,看成 y+=++i了
开始 x=10,y=10
i=0 10>8 输出 10 10 这时 x=10-1=9 y=1
i=1 9>8 输出 9 1 这时 x=9-1=8 y=2
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯