0
文字列の配列をソートしようとしていますが、コンパイラは自分の代入に互換性のない型があると言っています。代入の互換性のない型 - C
以下は問題のコードです。
for(i = 0; i < 499; i++) {
max = 0;
for(j = 1; j < 500; j++) {
if(strncmp(user_id[max], user_id[j], 9) > 0) {
printf("max = %s, j = %s\n", user_id[max], user_id[j]);
temp = user_id[j];
user_id[j] = user_id[max];
user_id[max] = temp;
}
}
}
次の2行はエラーをスロー:
user_id[j] = user_id[max];
user_id[max] = temp;
なぜそれが私はこのエラーが発生しますということですか?
編集: 申し訳ありませんが、私はこれを前もって含めませんでした。以下は有効ではありませんので
char user_id[500][9];
char* temp;
i j and max are int.
rover-208-149:prog3 kubiej21$ gcc --ansi --pedantic -o prog3 prog3.c
prog3.c: In function ‘main’:
prog3.c:46: error: incompatible types in assignment
prog3.c:47: error: incompatible types in assignment
、言うことは不可能あなたのコードスニペットは、 'user_id'または' temp'の定義が含まれていない、またあなたは、正確なエラーメッセージを掲載しているので。 –
「i」、「j」、「max」、「user_id」、「temp」などの定義はどこですか?実際のエラーメッセージは何ですか? –
あなたのuser_id配列と一時変数はどのような型か教えてください。あなたのコンパイラが互換性のない型であると言うなら、それはそれらが一致しないことを意味します。 – grifos