panzhengwang 发表于 2022-7-6 21:33:13

新人代码练习求助

#include <stdio.h>
void main()
{
        int a, b, c, max, min;
        scanf("%d%d%d", &a, &b, &c);
        /*
        if(a>b)
        {
                max=a;
                min=b;
        }
        else
        {
                max=b;
                min=a;
        }
        if(max<c)
        {
                max=c;
        }
        else if(min>c)
        {
                min=c;
        }
        */
       
        switch(a, b, c)
        case (a>b>c):printf("max=%d\nmin=%d\n", a, c); break;
        case (a>c>b):printf("max=%d\nmin=%d\n", a, b); break;
        case (b>a>c):printf("max=%d\nmin=%d\n", b, c); break;
        case (b>c>a):printf("max=%d\nmin=%d\n", b, a); break;
        case (c>a>b):printf("max=%d\nmin=%d\n", c, b); break;
        case (c>b>a):printf("max=%d\nmin=%d\n", c, a); break;
        default :printf("nothing\n");                           //编译错误出现在这里

       

        /*
        (a>b)?(max=a,min=b):(max=b,min=a);
    (max<c)?(max=c):(min=c);
        printf("max=%d\nmin=%d\n", max, min);
        */
}


switch 编译出现错误,求大神解惑,谢谢大家!

临时号 发表于 2022-7-6 21:43:39

switch...case能这么写吗

wp231957 发表于 2022-7-6 21:46:21

本帖最后由 wp231957 于 2022-7-6 21:48 编辑

switch后面只能跟一个变量或一个表达式
case后面也只能跟一个具体的数值

panzhengwang 发表于 2022-7-6 21:51:33

wp231957 发表于 2022-7-6 21:46
switch后面只能跟一个变量或一个表达式
case后面也只能跟一个具体的数值

好像老师是这么讲的,我再试试

panzhengwang 发表于 2022-7-6 21:56:26

临时号 发表于 2022-7-6 21:43
switch...case能这么写吗

{:7_146:}

临时号 发表于 2022-7-6 21:57:25

panzhengwang 发表于 2022-7-6 21:51
好像老师是这么讲的,我再试试

switch...case不是这么写的,你语法都搞错了

fuyekongzhou 发表于 2022-7-7 16:55:43

学习
页: [1]
查看完整版本: 新人代码练习求助