这个问题在这里已有答案:
我已经被这个例子弄得一团糟,我在我的C语言课程中偶然发现,通常它应该是每次c恰好是一个数字递增nb_chiffres(它就像一个循环,每当我们放c = getchar();
)并增加nb_non_chiffres否则。
我的问题是案件不以“;”结尾也不是以“休息”结束所以我看到它好像情况'1'包含在案例'2'中,案例'3'包含在'2'等等中。我没有看到程序按预期工作。我知道如果情况'0'不是true
它会执行下面的所有情况保存为default
但为什么我的老师没有把“;”在案件结束时?这是代码
switch(c){
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
nb_chiffres++;
break;
default:
nb_non_chiffres++;
}
编辑:当我说这是合法的C代码时,我的意思是没有分号和违反案例陈述。除此之外,还有一些格式问题会导致编译错误,如评论中所述。
这实际上是合法的C代码,这种用C语言编写Switch语句的方式甚至有一个名称:fallthrough。
你分享的代码做了两件事: