C# 为什么不是';我的if语句是否在switch语句中工作?
我需要做一个给学生考试打分的程序。我试图找到一种使用循环的方法,而不是写出很多变量。我想我可以使用一个C# 为什么不是';我的if语句是否在switch语句中工作?,c#,C#,我需要做一个给学生考试打分的程序。我试图找到一种使用循环的方法,而不是写出很多变量。我想我可以使用一个switch语句,然后在里面放一个if语句 例如,在循环中,如果学生对问题1的答案等于c,则在计数器中加1,但由于某种原因,我的代码不起作用 int计数器=0; 弦图坦斯; 对于(int i=1;i您的代码有许多问题,但回答问题本身,i是一个数字,而不是一个字符。请将您的开关大小写改为以下内容: case 1: // not '1' 这将突出显示下一个问题,在默认情况下,您缺少一个break;
switch
语句,然后在里面放一个if
语句
例如,在循环中,如果学生对问题1的答案等于c
,则在计数器中加1,但由于某种原因,我的代码不起作用
int计数器=0;
弦图坦斯;
对于(int i=1;i您的代码有许多问题,但回答问题本身,i
是一个数字,而不是一个字符。请将您的开关大小写改为以下内容:
case 1: // not '1'
这将突出显示下一个问题,在默认情况下,您缺少一个break;
。有两个错误:每个开关情况都需要一个break语句。然后i是一个数字,但您将其视为一个char。因为int和char之间有一个自动转换,所以代码会编译,但它永远不会碰到情况“1”,因为案例'1'等于ascii值'1'(49)Omg非常感谢我修复了它,现在它可以工作了,非常感谢您在那里有一个For/case反模式。请看,,,啊…案例的捕捉很好。。。