请问这串代码有什么问题吗,为什么显示不出来少年那一行,刚学还看不太懂
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岁应该是哪个呢