鱼C论坛

 找回密码
 立即注册
查看: 2210|回复: 8

这个case语句怎么回事啊啊啊啊啊啊啊啊啊啊!!!!

[复制链接]
发表于 2014-4-19 21:14:26 | 显示全部楼层 |阅读模式
5鱼币
#include <stdio.h>
#define a1 "一马当先"
#define a2 "二龙腾飞"
#define a3 "三阳开泰"
#define a4 "四季平安"
#define a5 "五福临门"
#define a6 "六六大顺"
#define a7 "七星高照"
#define a8 "八面来风"
#define a9 "九九归一"
#define a10 "十全十美"


int main(void)
{
        int num;

        printf("请输入1 - 10 之间的任意一个数: \n");
        while(scanf("%d",&num)==1)
        {
                switch(num);
                {
                case '1':
                        printf("%d\n", 1);
                        break;
                case '2':
                        printf("%d\n", 2);
                        break;
                case '3':
                        printf("%d\n", 3);
                        break;
                case '4':
                        printf("%d\n", 4);
                        break;
                case '5':
                        printf("%d\n", 5);
                        break;
                case '6':
                        printf("%d\n", 6);
                        break;
                case '7':
                        printf("%d\n", 7);
                        break;
                case '8':
                        printf("%d\n", 8);
                        break;
                case '9':
                        pritnf("%d\n", 9);
                        break;
                }
        }
        getchar();
        getchar();
        return(0);
}
有一个报错消息,怎么回事啊啊啊啊啊啊!!!
报错消息是 “illegal case”

最佳答案

查看完整内容

case 后可以是字符 也可以是数字 看你前面定义的是char 还是int scanf("%d",&num)返回的是正确赋值给变量的个数,==1可以不用,因为每次你输入一个数就会成功赋值给变量num,scanf的返回值永远是1,当你输入一个并不是数字的数时,比如a,就会跳出while循环 define 定义的时字符 打印时应该以%s的形式打印
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-19 21:14:27 | 显示全部楼层
case 后可以是字符  也可以是数字  看你前面定义的是char 还是int
scanf("%d",&num)返回的是正确赋值给变量的个数,==1可以不用,因为每次你输入一个数就会成功赋值给变量num,scanf的返回值永远是1,当你输入一个并不是数字的数时,比如a,就会跳出while循环
define 定义的时字符  打印时应该以%s的形式打印
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-19 21:48:17 | 显示全部楼层
switch(num);
这个后面不能有分号
第48行的printf打错了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-19 21:55:07 | 显示全部楼层
#include <stdio.h>
#define a1 "一马当先"
#define a2 "二龙腾飞"
#define a3 "三阳开泰"
#define a4 "四季平安"
#define a5 "五福临门"
#define a6 "六六大顺"
#define a7 "七星高照"
#define a8 "八面来风"
#define a9 "九九归一"
#define a10 "十全十美"


int main(void)
{
        int num;

        printf("请输入1 - 10 之间的任意一个数: \n");
                scanf("%d", &num);
                switch(num)
                {
                case '1':
                        printf("%d\n", num);
                        break;
                case '2':
                        printf("%d\n", num);
                        break;
                case '3':
                        printf("%d\n", num);
                        break;
                case '4':
                        printf("%d\n", num);
                        break;
                case '5':
                        printf("%d\n", num);
                        break;
                case '6':
                        printf("%d\n", num);
                        break;
                case '7':
                        printf("%d\n", num);
                        break;
                case '8':
                        printf("%d\n", num);
                        break;
                case '9':
                        printf("%d\n", num);
                        break;
        }
        return(0);
}     switch 后面不该有分号。 另有一处printf拼写错误  一起加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-19 22:07:57 | 显示全部楼层
貌似跳不出while(scanf("%d",&num)==1)循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-19 22:27:41 | 显示全部楼层
本帖最后由 风雪幻林 于 2014-4-19 22:31 编辑

#include <stdio.h>
#define a1 "一马当先"
#define a2 "二龙腾飞"
#define a3 "三阳开泰"
#define a4 "四季平安"
#define a5 "五福临门"
#define a6 "六六大顺"
#define a7 "七星高照"
#define a8 "八面来风"
#define a9 "九九归一"
#define a10 "十全十美"


void main()
{
      int num;

        printf("请输入1 - 10 之间的任意一个数: \n");
      scanf("%d",&num);
        {
                switch(num)
                {
                case 1:
                       printf("%s\n", a1);
                        break;
                case 2:
                        printf("%s\n", a2);
                        break;
                case 3:
                        printf("%s\n", a3);
                        break;
                case 4:
                        printf("%s\n", a4);
                        break;
                case 5:
                        printf("%s\n", a5);
                        break;
                case 6:
                        printf("%s\n", a6);
                        break;
                case 7:
                        printf("%s\n", a7);
                        break;
                case 8:
                        printf("%s\n", a8);
                        break;
                case 9:
                        printf("%s\n", a9);
                        break;
                }
        }
        return(0);
}
case 不能用“单引号”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-19 23:58:46 | 显示全部楼层
你这代码....... 错误真心不少 我随便改了下大概可以运行起来了
#include <stdio.h>

#define a1 "一马当先"
#define a2 "二龙腾飞"
#define a3 "三阳开泰"
#define a4 "四季平安"
#define a5 "五福临门"
#define a6 "六六大顺"
#define a7 "七星高照"
#define a8 "八面来风"
#define a9 "九九归一"
#define a10 "十全十美"

void cls();

int main(void)
{
        char num;
s:        printf("请输入1 - 10 之间的任意一个数: \n");
        num = getchar();
        switch(num)
        {
        case '1':
                printf("%s\n", a1);
                cls();
                goto s;        
        case '2':
                printf("%s\n", a2);
                cls();
                goto s;        
        case '3':
                printf("%s\n", a3);
                cls();
                goto s;        
        case '4':
                printf("%s\n", a4);
                cls();
                goto s;        
        case '5':
                printf("%s\n", a5);
                cls();
                goto s;        
        case '6':
                printf("%s\n", a6);
                cls();
                goto s;        
        case '7':
                printf("%s\n", a7);
                cls();
                goto s;        
        case '8':
                printf("%s\n", a8);
                cls();
                goto s;        
        case '9':
                printf("%s\n", a9);
                cls();
                goto s;        
        default:
                printf("你的输入有误!\n");
                cls();
                goto s;                
        }
        return 0;
}
void cls()
{
        char ch;
        while((ch = getchar())!='\n');
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-20 19:11:25 | 显示全部楼层
#include <stdio.h>
#define a1 "一马当先"
#define a2 "二龙腾飞"
#define a3 "三阳开泰"
#define a4 "四季平安"
#define a5 "五福临门"
#define a6 "六六大顺"
#define a7 "七星高照"
#define a8 "八面来风"
#define a9 "九九归一"
#define a10 "十全十美"


int main(void)
{
        int num;

        printf("请输入1 - 10 之间的任意一个数: \n");
      
        scanf("%d",&num);

                switch(num)
                {
                case 1:
                        printf(a1);
                        break;
                case 2:
                        printf(a2);
                        break;
                case 3:
                        printf(a3);
                        break;
                case 4:
                        printf(a4);
                        break;
                case 5:
                        printf(a5);
                        break;
                case 6:
                        printf(a6);
                        break;
                case 7:
                        printf(a7);
                        break;
                case 8:
                        printf(a8);
                        break;
                case 9:
                        printf(a9);
                        break;
                }
      
        getchar();
   
        return(0);
}
不知道这是你要的么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-28 15:58:01 | 显示全部楼层
printf打错了!  你编译 看看 提示啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 11:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表