C 是否显示错误消息?
Hi my program基本上是当用户输入无法识别的命令时,它会显示错误消息,但是当用户输入有效命令和无效命令时,它仍会显示错误消息C 是否显示错误消息?,c,C,Hi my program基本上是当用户输入无法识别的命令时,它会显示错误消息,但是当用户输入有效命令和无效命令时,它仍会显示错误消息 int main(){ char command[20]; printf("Enter either add, sub, mult, div, or EXIT:\n"); scanf("%5s", command); if(strcmp(command, "EXIT") || strcmp(command, "add" )
int main(){
char command[20];
printf("Enter either add, sub, mult, div, or EXIT:\n");
scanf("%5s", command);
if(strcmp(command, "EXIT") || strcmp(command, "add" ) ||strcmp(command, "sub")|| strcmp(command,"div") || strcmp(command,"mult") != 0){
printf("Warning either enter the following commands\n");
}
else
{
printf("Welcome\n");
//function..
}
return 0;
}
另外,我是C新手,正在进行实验,我不确定这是否是实现此功能的正确方法。通过执行以下操作:
if (strcmp || strcmp || strcmp || strcmp != 0)
您似乎正在尝试同时对0检查所有不同的结果
这不是C的工作方式。您必须单独检查每个值
if (strcmp(command, "EXIT") &&
strcmp(command, "add" ) &&
strcmp(command, "sub" ) &&
strcmp(command, "div" ) &&
strcmp(command, "mult"))
{ /* Show Warning message */ }
翻译:
如果字符串不是EXIT,也不是add,也不是sub。。。。然后字符串不是任何已知的命令;因此,通过执行以下操作显示警告。:
if (strcmp || strcmp || strcmp || strcmp != 0)
您似乎正在尝试同时对0检查所有不同的结果
这不是C的工作方式。您必须单独检查每个值
if (strcmp(command, "EXIT") &&
strcmp(command, "add" ) &&
strcmp(command, "sub" ) &&
strcmp(command, "div" ) &&
strcmp(command, "mult"))
{ /* Show Warning message */ }
翻译:
如果字符串不是EXIT,也不是add,也不是sub。。。。然后字符串不是任何已知的命令;因此,显示警告。如果两个字符串匹配,strcmp函数返回0。因此,您的条件将始终计算为true,因为只有一个字符串可以与特定输入匹配。如果两个字符串匹配,strcmp函数将返回0。因此,您的条件将始终计算为true,因为只有一个字符串可以与特定输入匹配。您的条件是否为false?您的条件是否为false?