我想制作一个具有打开键的程序。但是当我比较键和输入时,它总是显示“错误”:

#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/

10-09 02:13