这条题目怎么做?是怎么运行的。求高手解答。

#include<stdio.h>main(){inti;for(i=0;i<=5;i++)switch(i%2){case0:i++;printf("#");break... #include<stdio.h>
main()
{
int i;
for(i=0;i<=5;i++)
switch(i%2)
{
case 0: i++; printf("#");break;
case 1: i+=2;printf("*");
default : printf("\n");
}
}
第五行是for(i=1;i<=5;i++)
展开
 我来答
cdyzxy
2013-07-12 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:84%
帮助的人:3583万
展开全部
i=0,由于满足i<=5执行switch语句
i%2=0,走case 0: i++等于1,打印一个#后继续循环,至此输出为: #
循环语句i++等于2,由于满足i<=5执行switch语句
i%2=0,走case 0: i++等于3,打印一个#后继续循环,至此输出为: ##
循环语句i++等于4,由于满足i<=5执行switch语句
i%2=0,走case 0: i++等于5,打印一个#后继续循环,至此输出为: ###
循环语句i++等于6,由于不满足i<=5退出循环
最终程序输出为三个连续的井号(没有换行)

如果第5行的条件变成for(i=1;i>=5;i++)
i=1,由于不满足i>=5结束循环退出,不打印任何东西
更多追问追答
追问
我稍微有点儿懂了,请问不管i是奇偶数,是不是都要自增两回?for里面有个i++,case后面有i++和i+=2?
追答
对的,由于又在循环中执行过一个i++所以i增加两次
百度网友83cdc1c
2013-07-12 · TA获得超过5788个赞
知道大有可为答主
回答量:1907
采纳率:100%
帮助的人:815万
展开全部
#include<stdio.h>
main()
{
    int i;
    for(i=0;i<=5;i++)    //for循环从0到5
        switch(i%2)    //用i对2取余
        {
        case 0:     //如果是0,即i是偶数
            i++;     //i自增1,i又变成奇数
            printf("#");    //打印一个'#'
            break;    //跳出switch语句
        case 1:     //如果是1,即i是奇数
            i+=2;    //i自增2,i还是奇数
            printf("*");    //打印一个'*'
        default : 
            printf("\n");    //接着打印一个回车
        }
}

实际上switch语句,不可能走到case 1和default分支。

因为当i是偶数的时候,i在switch里自增1变成奇数,然后一次for循环结束i还会再自增1,又变成偶数。下一次执行i%2的结果还是0。

所以这个程序的运行结果是输出三个'#'

###

追问
我懂了,谢谢你啦。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5722492f7
2013-07-12 · TA获得超过725个赞
知道小有建树答主
回答量:594
采纳率:0%
帮助的人:470万
展开全部
循环6次,
如果遇到偶数,输出# 次数+1如果遇到奇数输出* 次数加2
输出结果为
#***
即i=0输出# i++ ; i=1输出* i+2;
i=3 输出* i+2 i=5输出* i+2
有什么不明白的请追问。
更多追问追答
追问
题目不变的话你的答案是错的。。。是###,现在改了。再帮我看看
追答
少算了一个加1.。。。。把循环的给落下了。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
懂了你又不做0
2013-07-12
知道答主
回答量:9
采纳率:0%
帮助的人:1.3万
展开全部
首先你输入i的值 因为i初值为0 i<=5成立 所以运行switch(i%2)既是求余数 所以0%2=0 所以运行case 0: i++; printf("#");输出# 然后跳出switch循环 继续for(i=0;i<=5;i++) 同理即可 感觉他的对@mornslit
追问
谢谢你啦。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式