2014-03-02 80 views
1

我已經創建了一個數組,現在我試圖比較兩個字符串的第一個符號,如果它是真的打印該單詞。但我有一個問題:查找具有相同第一個字符的單詞

不兼容的類型assignmentof 「INT」 到 「字符」[20]」

下面是代碼:

for (wordmas= 0; i < character; i++) 
{ 
    do { 
    if (!strncmp(wordmas[i], character, 1) 
    } 
    puts (wordmas[i]); 
} 

也許你們可以幫助我?

+0

哪條線這個錯誤訊息對應?涉及的所有變量的聲明是什麼? –

+1

對不起,你的代碼沒有任何意義。那裏有做什麼?什麼是「if」控制?請顯示一切的類型。 – Mat

+0

你有語法錯誤 – mangusta

回答

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' 
    } 
} 
+0

非常感謝! – user3370335

相關問題