Я пытаюсь сортировать массив строк, но мой компилятор продолжает говорить, что у меня есть несоответствующие типы в моем задании.Несовместимые типы в назначении - 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;
}
}
}
Следующие две строки бросают ошибку:
user_id[j] = user_id[max];
user_id[max] = temp;
Почему это, что я получаю эту ошибку?
EDIT: Извините, я забыл включить это раньше.
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