我是C编程的新手,在创建字符串列表和搜索特定元素时遇到一些困难。
#include <stdio.h>
#include <string.h>
# define MAX 6
int main(){
char word[MAX];
char x[MAX][20];
int i;
strcpy(x[0], "One");
strcpy(x[1], "Two");
strcpy(x[2], "Three");
strcpy(x[3], "Four");
strcpy(x[4], "Five");
strcpy(x[5], "Six");
printf("%s", "Search:");
scanf("%s", word);
for (i=0; i<6; i++) {
if (x[i] == word) {
printf("%s", "Found a match!");
}
}
return 0;
}
它永远不会执行
if
块中存在的语句(即printf(“找到匹配项!”))。知道为什么它不执行上述语句吗?谢谢!
最佳答案
用
if(strcmp(x[i],word) == 0)
printf("Found match\n");
==
不能在执行过程中用于比较字符串。这仅比较指针而不是字符串
关于c - 在2D数组中搜索元素,C编程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27692605/