我一直在从事一个需要验证字符串中字符的项目。
例如,我的有效字符集是“abcde”,其中所有字符都启动不同的功能。
首先,代码要求用户输入。然后,将其与此集合进行比较,以检查是否存在任何无效输入(除了abcde
之外的任何字母)。在此之后,字符将启动其各自的功能。
我知道可以使用以下方法来实现:
for (i = 0; i <= sizeof(string) - 1; i++) {
if (string[i] != 'a' || string[i] != 'b' || string[i] != 'c' ||
string[i] != 'd' || string[i] != 'e') {
printf("Invalid Input");
}
}
用户可以输入集合中任意组合的三个或四个字母。
除了在if语句中打出整个条件之外,还有没有更简单的方法?感谢您的帮助。
&&
而不是||
? - flausize_t len = strlen(string) ; for(i=0; i < len; i++)
,因为sizeof
会根据指针的大小而给出4或8。 - JeremyP