我已经制作了一个数组,现在我正在尝试比较两个字符串的第一个符号,如果打印该字则是真的。但是我遇到了一个问题:
“int”到“char”的赋值不相容的类型[20]“
以下是代码:
for ( wordmas= 0; i < character; i++ )
{
do {
if (!strncmp(wordmas[i], character, 1)
}
puts (wordmas[i]);
}
也许你们可以帮助我?
答案 0 :(得分:2)
您的代码存在以下问题:
strncmp
来比较第一个字符 - 您只需要一个简单的==
或!=
。do
而不是while
是语法错误;你不需要嵌套循环来解决你的问题。character
用于限制外部循环中i
的进度,还可以与wordmas[i]
中单词的第一个字符进行比较。这很可能是一个错误。wordmas
是一个数组,在循环标题中分配给wordmas
是错误的。查找以特定字符开头的单词的代码应如下所示:
char wordmas[20][20];
... // read 20 words into wordmas
char ch = 'a'; // Look for all words that start in 'a'
// Go through the 20 words in an array
for (int i = 0 ; i != 20 ; i++) {
// Compare the first characters
if (wordmas[i][0] == ch) {
... // The word wordmas[i] starts in 'a'
}
}