我想知道是否有一种方法可以使用strcmp
. 我知道传递给的参数strcmp
是 C 字符串。所以这样的事情是行不通的:
strcmp(arrayofstrings[x], c-string)
只要参数可以简化为 type ,它就会起作用const char*
。
char *a[] = { "Hello", "Hello" }; // Array of pointers to c strings
if ( !strcmp(a[0],a[1]) ){
// true in this case
}
如果您尝试搜索整个数组,而不仅仅是比较两个元素,您将需要一个循环。
const int N = 10;
const char * desired = "desiredString";
char * arrayOfStrings[N];
// You should initialize the elements
// in arrayOfStrings[] before searching
// Searching an unsorted array is O(N)
for(i = 0; i < N; i++)
{
if(strcmp(arrayOfStrings[i], desired) == 0)
{
printf("Found %s.", desired);
break;
}
}