我想制作一个具有打开键的程序。但是当我比较键和输入时,它总是显示“错误”:
#include <stdio.h>
int main(){
char key[5]="april",ckey[5];
printf("Enter the key: ");
scanf("%s",ckey);
if(ckey==key){
printf("Correct.");
}
else{
printf("Wrong.");
}
return 0;
}
不使用其他库就可以解决问题吗?
最佳答案
您必须在scanf
语句内的“%s”之前留出空格,以免'\ n字符存储在ckey
中,以确保比较成功。注意:ckey
的大小必须为6或更大。
#include <stdio.h>
#include <string.h>
int main(){
char key[] = "april",ckey[6];
printf("Enter the key: ");
scanf(" %5s",ckey);
if(!strcmp(ckey, key)){
printf("Correct.");
}
else{
printf("Wrong.");
}
return 0;
}
关于c - 将字符串与if进行比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33583478/