注册 登录
编程论坛 C语言论坛

为什么程序直接跳过了while循环,求大佬帮忙

小白报道 发布于 2019-09-17 17:43, 3570 次点击
#include<stdio.h>
void main()
{
    int a,i=0;
        printf("请输入0到个3数  可得出一个结果");
        while(i!=0)
    {
        scanf("%d\n",&a);
        i=a;   
        switch(i)                                                  
        {
        case 1:printf("A");break;
        case 2:printf("B");break;
        case 3:printf("C");break;
        default:printf("default");
        }
    }
        printf("jieguo");
}
8 回复
#2
Mr_doge2019-09-17 18:29
int i = 0;
while(i != 0)
{}

声明变量i并初始化为0
当i不等于0的时候执行
#3
c小白23332019-09-17 18:41
2楼正解
根据你的意思用不到while
这样就行了
程序代码:

#include<stdio.h>
void main()
{
    int i;
    printf("请输入0到3的整数  可得出一个结果\n");
    scanf("%d\n",&i);
    printf("结果:");
    switch(i)                                                  
    {
    case 1:printf("A");break;
    case 2:printf("B");break;
    case 3:printf("C");break;
    default:printf("default");
    }
}
#4
自学的数学2019-09-17 18:42
程序代码:
#include<stdio.h>

 main()
{
    int a,i;
        printf("请输入i值:");
        scanf("%d",&i);
        printf("请输入0到个3数  可得出一个结果");
        scanf("%d\n",&a);
        while(i!=0)
    {
        scanf("%d\n",&a);
        i=a;   
        switch(i)                                                  
        {
        case 1:printf("A");break;
        case 2:printf("B");break;
        case 3:printf("C");break;
        default:printf("default");
        }
    }
        printf("jieguo");
}
#5
小白报道2019-09-17 21:25
回复 2楼 Mr_doge
感谢感谢  原来逻辑出错了  找了半天原来是这个问题 非常感谢
#6
小白报道2019-09-17 21:26
回复 3楼 c小白2333
感谢感谢  
#7
小白报道2019-09-17 21:27
回复 4楼 自学的数学
感谢感谢
#8
yuelaiyuehei2019-09-17 23:12
break本来就是跳出循环的意思啊!
#9
mmzkyl2019-09-21 06:42
回复 楼主 小白报道
执行到break会直接跳出循环吧
1