老师 这个程序哪儿错了
变量使用之前需要定义
这里的month days没有定义
回复 祁老师:这是修改后的 这样也可以吧
#include <stdio.h>
main()
{
int a;
printf("请输入一个月份:");
scanf("%d",&a);
switch(a)
case 2:
printf("28天\n");
break;
case 4:case 6:case 9:case 11:
printf("30天\n");
default:
printf("31天\n");
}
回复 邢慧雅:是的 可以
回复 祁老师:那如果给month和days赋值的话 int month,days;scanf("%d",&month);可以么
回复 邢慧雅:可以
回复 祁老师:老师这个程序里为什么会执行case 2 ? case 2不是当x=2 才会执行么?
#include <stdio.h>main(){ int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++;b++;break; case 3: a++;b++; } printf("a=%d,b=%d\n",a,b);}
回复 邢慧雅:这是一个嵌套的switch语句,case 1后面并没有break 所以会继续执行
回复 祁老师:可是前面是switch(x) case 2 不是表示x为2时的情况么?
回复 邢慧雅:你回去仔细看视频讲解吧。
x初始为1 所以执行case 1 当case任何一条语句后面没有break的时候 是会继续执行的。
回复 祁老师:我知道啊 但是case 2 中的2 是表示什么的
回复 邢慧雅:2表示x的值, 如果x初始值为2 那么就直接执行case 2 但是这里的x初始值为1 所以直接执行case 1 执行完case 1之后 这里没有break所以会继续执行case 2
回复 邢慧雅:回头多看看视频吧, 你现在是这个switch的结构用法没有掌握哦
回复 祁老师:哦哦 懂了 谢谢老师
回复 祁老师:恩恩
点赞
扫一扫分享朋友圈
二维码
分享
你确定要删除这个问题吗?