Bel*_*sem 1 c if-statement char logical-operators
我有非常大的if语句,看起来不那么令人愉悦,而且效率也不高。
我正在制作一个程序(取决于用户输入)运行某个代码块,例如,如果用户输入'a'该程序运行一个向文件中添加某些内容的代码,等等。声明(我不知道这是否相关)。
else if(ansr != 'a' && ansr != 'A' && ansr != 'r' && ansr != 'R' && ansr != 's' && ansr != 'S' && ansr != 'e' && ansr != 'E')
{
printf("Invalid input!\n");
}
Run Code Online (Sandbox Code Playgroud)
如您所见,这是一个很长的if语句,我希望它要短一些。谢谢
嗯,这是一个例子,随便。
你为什么不使用strchr?strchr返回指向字符串中字符的指针(如果找到),否则返回NULL。
else if (strchr("aArRsSeE", ansr) == NULL)
{
printf("Invalid input!\n");
}
Run Code Online (Sandbox Code Playgroud)