我一直在我的项目上得到这个错误,我无法弄明白!请帮忙!
错误C2143:语法错误:'常量'之前缺少')'
这条线是:
while (selection == ('a','b','c', 'd', 'e', 'f', 'g', 'h', 'i','A','B' 'C', 'D', 'E', 'F', 'G', 'H', 'I');
Run Code Online (Sandbox Code Playgroud)
我也知道有一种更简单的方式来写出那条线,但我不知道我怎么做.我是初学者,所以你们中的任何人都可以为我编辑这行!
你有几个开括号?
你有几个封闭的括号?
这些数字是一样的吗?如果没有,哪里缺少一个?
此外,语法a == (b,c,d)并不a == b || a == c || a == d像你似乎想象的那样简写.它实际上相当于a == d因方式逗号操作符的工作.
要完全明确,你真正想要的是:
while (selection == 'a' || selection == 'b' ||
selection == 'c' || selection == 'd' ||
selection == 'e' || selection == 'f' ||
selection == 'g' || selection == 'h' ||
selection == 'i' || selection == 'A' ||
selection == 'B' || selection == 'C' ||
selection == 'D' || selection == 'E' ||
selection == 'F' || selection == 'G' ||
selection == 'H' || selection == 'I')
{
/* Do stuff */
}
Run Code Online (Sandbox Code Playgroud)
或者,为了更加明智,您可以利用字母在ASCII表中按字母顺序排列的事实,并写入
while (tolower(selection) >= 'a' && tolower(selection) <= 'i')
{
/* Do stuff */
}
Run Code Online (Sandbox Code Playgroud)
这需要包容<ctype.h>的tolower功能.