0

を使用して配列をスキャンして一致する方法があるかどうか疑問に思いますstrcmpstrcmp渡されるパラメーターはC文字列であることを知っています。したがって、このようなものは機能しません。

strcmp(arrayofstrings[x], c-string)
4

2 に答える 2

1

引数をタイプに減らすことができる限り、それは機能しますconst char*

char *a[] = { "Hello", "Hello" };  // Array of pointers to c strings
if ( !strcmp(a[0],a[1]) ){
    // true in this case
}
于 2011-09-19T02:56:26.533 に答える
0

2つの要素を比較するだけでなく、配列全体を検索しようとしている場合は、ループが必要になります。

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;
    }
}
于 2011-09-19T03:04:49.160 に答える