请问这串代码有什么问题吗

请问这串代码有什么问题吗,为什么显示不出来少年那一行,刚学还看不太懂

img

img

case 后边跟空格,另外,判断里&&条件是多余且错误的

case语句和if语句那边出问题了,case和数字中间加空格,if后面判断冗余了

该回答引用GPTᴼᴾᴱᴺᴬᴵ
以下是修改后的代码:

#include <stdio.h>

int fenlei(int age) {
    if (age < 15) return 1;
    else if (age >= 15 && age < 30) return 2;
    else if (age >= 30 && age < 60) return 3;
    else return 4;
}

int main(void) {
    int age;
    scanf_s("%d", &age);
    printf("该人是");
    switch (fenlei(age)) {
        case 1: printf("儿童"); break;
        case 2: printf("青年"); break;
        case 3: printf("中年"); break;
        case 4: printf("老年"); break;
    }
    return 0;
}

修改后的代码可以正确输出年龄分类信息。

程序修改应该如下所示:

#include <stdio.h>
 
int fenlei(int age) {
    if (age < 15) return 1;
    else if (age < 30) return 2;
    else if (age < 60) return 3;
    else return 4;
}
 
int main(void) {
    int age;
    scanf_s("%d", &age);
    printf("该人是");
    switch (fenlei(age)) {
        case 1: printf("儿童"); break;
        case 2: printf("青年"); break;
        case 3: printf("中年"); break;
        default: printf("老年"); break;
    }
    return 0;

}

case和后面数字之间要有空格
if语句中的条件要考虑等于的情况,比如15岁应该是哪个呢