c - 如果条件发生故障,内部进行字符串比较

标签 c string gcc

<分区>

我尝试用 C 编程,但没有成功。我有一个简单的源代码,我需要在 if (char) 中匹配多个字母。它显示以下错误消息(在使用 gcc 的 linux 终端中):

main.c: In function `main': main.c:16:23: warning: character constant too long for its type [enabled by default]

if (firstName[20] == 'Vojta'){

源代码:

#include <stdio.h>

int main(int argc, char const *argv[])
{
    /* code */
    char firstName[20];
    char lastName[40];
    char password[20];
    char confpasswd[20];
    int age;

    printf("Please write your first and last name:");
    scanf("%s%s", firstName, lastName);
    printf("%s %s:\n", firstName, lastName);

    if (firstName[20] == 'Vojta'){
        printf("\ncool\n");
    }

    return 0;
}

最佳答案

第 1 点

使用strcmp()比较字符串

第 2 点

改变

scanf("%s%s", firstName, lastName);

scanf("%19s %39s", firstName, lastName);

检查scanf()的返回值以确保成功。但是,如果您分别使用两个 scanf() 来获取两个输入会更好,这样更少出错。

此外,作为建议,您可以阅读有关 fgets() 的内容和 strtok()有关如何读取整行作为输入并标记所需部分的方法。

关于c - 如果条件发生故障,内部进行字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29851572/

相关文章:

c - -Wpedantic 类型参数在转换后增加的错误类型

c - objdump 产生错误的分支操作码解释

C 指针和地址

c++ - 提取多个单词到一个字符串变量

gcc - 为什么链接库的顺序有时会导致 GCC 出错?

ios - GCC 优化 : use of ARM conditional instructions?

c - 远程登录我的套接字监听端口正在关闭套接字

c - 显示标准错误消息

java - android解析负数字符串

python - 匹配两个通配字符串的优雅方式