您的代码中存在两个问题.你的while循环表达式不正确.逗号不会按照您的想法执行操作:在C/C++中,逗号执行左侧表达式并计算为右侧表达式,这意味着在您的情况下,您只检查第二个条件.你可能想要:
while(4<=Choice || Choice<=0)
该||
是OR运算符,如果任它周围的表达式为真返回true.
其次,在while循环结束时有一个错误的分号:
while(4<=Choice,Choice<=0); //<-- this should not be here
这标志着循环的结束,这意味着您的代码被解析为:
while(4<=Choice,Choice<=0); //loop body is empty { //and we have a random unnamed block following it }
删除分号,你的while循环应该正确执行.
您的代码中存在两个问题.你的while循环表达式不正确.逗号不会按照您的想法执行操作:在C/C++中,逗号执行左侧表达式并计算为右侧表达式,这意味着在您的情况下,您只检查第二个条件.你可能想要:
while(4<=Choice || Choice<=0)
该||
是OR运算符,如果任它周围的表达式为真返回true.
其次,在while循环结束时有一个错误的分号:
while(4<=Choice,Choice<=0); //<-- this should not be here
这标志着循环的结束,这意味着您的代码被解析为:
while(4<=Choice,Choice<=0); //loop body is empty { //and we have a random unnamed block following it }
删除分号,你的while循环应该正确执行.