int main()
{
int imonth;
printf("请输入月份:\n");
scanf_s("%d",&imonth,2);
switch (imonth)
{
case 1:
case 8:
case 3:
case 5:
case 7:
case 10:
case 12:printf("31.\n"); break;
case 2:printf(" 28\n"); break;
case 6:
case 9:printf("30\n"); break;
default:
printf("wrong\n"); break;
}
}
小弟不才,请教为什么给Imonth变量赋值之后,switch语句块执行,case后面的printf()却没有输出,程序直接退出了,这是为什么?
调试的时候给变量赋值2,明显观察到代码已经执行到case 2然后才跳出循环。
解决方案
20
看不到输出是原因是程序正常退出了,你ctrl+F5运行就能看到了
或代码最后加上getchar();或system(“pause”);
#include
int main()
{
int imonth;
printf("请输入月份:\n");
scanf_s("%d",&imonth,2);
switch (imonth)
{
case 1:
case 8:
case 3:
case 5:
case 7:
case 10:
case 12:printf("31.\n"); break;
case 2:printf(" 28\n"); break;
case 6:
case 9:printf("30\n"); break;
default:
printf("wrong\n"); break;
}
getchar();
getchar();
}
3
你输入了啥?
3
4
你代码都跑完了,程序结束了它当然退出了
2
现在的码农竟然99%都不会在cmd窗口中输入cd命令设置当前目录为程序所在目录,输入程序名运行程序了!
CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C编程中switch。case 问题!