为什么switch语句中的情况1不起作用?

时间:2019-10-01 17:47:56

标签: c scanf

如果我选择情况1,则什么也没有发生,我不明白这是什么问题,情况1被忽略,并且跳转到下一个迭代。

这是我通过选择情况1得到的结果:

Enter -1 to quit                                                                                                                                                                                 
Enter your choice: 1                                                                                                                                                                             

Enter -1 to quit                                                                                                                                                                                 
Enter your choice:   

它应该要求我提供用户输入,然后打印出来

#include<stdio.h>
int main()
{
    int I;
    char* str[100];
    do
    {
        puts("Enter -1 to quit");
        printf("Enter your choice: ");
        scanf("%d",&I);
        switch(I)
        {            

            case 1:
            fgets(str,100,stdin);
            printf(str);
            break;
            case 2:
            printf("45\n");
            break;
            case -1:
            puts("Bye");
            break;
            default:
            printf("default\n");
        }
    }while(I != -1);
    return 0;
}

0 个答案:

没有答案