#c
#c
Вопрос:
int comparestrings(char *x,char *y)
{
int j = 0;
for (j=0;j<4;j )
{
if (x[j]<y[j])
{
return 1;
}
else if(x[j]>y[j])
{
return 1;
}
else
{
return 0;
}
}
}
обе строки имеют максимальную длину 4 символа, поэтому измерение длины не является проблемой. моя проблема в том, что мне нужно определить порядок, в котором он должен что-то делать. ему необходимо сравнить типы крови, из которых существует только 8 возможностей. прямо сейчас, если первый символ совпадает, он выдаст возвращаемое значение 0, которое продвинет программу, даже если следующие символы отличаются. так, например, если первое значение равно A , оно также будет отображать A A- AB AB- . куда мне поместить возвращаемые значения, если я хочу, чтобы это измеряло все целиком?
Комментарии:
1.
else { return 0;}
Удалите часть и просто поместитеreturn 0;
в конец функции (вне цикла).2. Разве она не должна возвращать -1, 1 или 0?
3. Почему вы пишете свою собственную функцию? Что не так со встроенной
strcmp()
?4. Вы можете использовать strcmp(* x, * y) для сравнения двух строк, strcmp возвращает 0, если обе строки идентичны.