c - 我需要在第 17 行的哪里放置额外的分号

标签 c gcc

我是 C 语言编程的新手,我正在尝试创建一个程序,当用户输入他们的名字时,他们会被随机告知他们的性取向。然而,gcc 是错误的,因为我想我错过了一个;第 17 行是:if(strcmp(x, arrayNames[i] == 0));。我不太熟悉 strcmp();但我正在 K&R 中阅读它,只是无法理解它。以下是完整代码:

int main()
{
    char *arrayNames[3]={"Jim", "Bob", "Dave"};
    char *arrayOrient[3]={"straight", "gay", "bi"};
    char x[100];
    srand(time(NULL));
    int size;
    size = sizeof(arrayNames)/sizeof(arrayNames[0]);
    int namesRand = rand() % size;

    printf("Please enter your name: ");
    scanf("%s", &x[0]);
    int i;

    for(i = 0; i < size; i++)
    {
        if(strcmp(x, arrayNames[i] == 0));
        {
            printf("Hello %s, your orientation is: %s", x, arrayOrient[namesRand]);
        break;
        }
        else
        {
            printf("Invalid name!");
        }
    }
    return 0;
}

使用 strcmp() 时的任何提示;将受到欢迎。

最佳答案

我认为您需要删除分号。 if then 语句中不需要分号。

关于c - 我需要在第 17 行的哪里放置额外的分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18424479/

相关文章:

C 链表无限循环

c - 在 C 中创建、写入和读取随机访问文件时出现意外行为

linux - 编译 libgcc xgcc 错误

ipad - 如何在越狱的iPad上编译objc(c++, c)源代码?

c++ - gcc:混合 __builtin_expect 和 noreturn

c++ - 检查打印机是否存在的程序

c - C 中的字符串数组段错误

c - 链表遍历节点和中间插入的两种方法

CMAKE/MAKEFILE :/usr/bin/x86_64-linux-gnu-ld : Cannot find -lfftw3f

python - Clang + pycparser 无法从 CPython 3.7 解析 pythread.h header