为什么switch语句可以编译 代码不运行呢(语言-c语言)

img


c语言使用switch语句判断月份对应天数

在不加上年份判断是否闰二月情况下可以运行

加上这个条件后 代码可以编译但不运行

这是何故?

应该是因为第6行的&d,把他改为%d再试试,因为从输入获取一个整数是%d。

输入错了

img

闰年判断中 条件错了

img

break忘记了补上

能被4整出且不能被100整除,对应的表达式加上括号

scanf写错了啊,第二个也是%d啊,你写成了&d啦
写成&d,只是普通字符串,不是占位符,所以月份值没有输入,自然case无法匹配,没有输出了

1.%d%d,中间不要有空格,你现在month没有赋值,所以不进任何case,也就不打印
2.与或非的判断错误,这不影响打印,但是影响判断的对错

月份得拿写错了%d,接值写错了