我是 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() 时的任何提示;会受到欢迎。