ter*_*ing 0 c if-statement char
我正在尝试做一个基本的if语句,我的字符串出现了这个奇怪的错误.
错误1:
指针和整数之间的比较('int'和'char*')
错误2:
未指定与字符串文字进行比较的结果(改为使用strncmp)
这是函数的副本全部发生在.
int logOn(int *par)
{
char p;
printf("Log into student records system\nEnter password or type cancel to leave\n>");
scanf("%s", &p);
if(p == *PASSWORD1 | p == *PASSWORD2 | p == *PASSWORD3)
{
*par = 2;
}
else if (p = "cancel")
{
*par = 3;
}
else
{
printf("\nIncorrect password try again\n");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
else if语句行(p = "cancel")上发生错误.
这里有很多不妥之处.
==不要使用=.||不是|.char p为单个角色腾出空间.您不能在char变量中存储多字符密码.你需要一个字符串.==.p == *PASSWORD1不行.我会留给你找出有效的方法.它很容易搜索.