Я пытаюсь создать функции из существующего кода, чтобы сделать его чище, и у меня возникли некоторые проблемы:
Раньше было:
int foo(char * s, char * t, char ** out) {
int val = strcmp(s, t);
if (val == 0) {
*out = strdup(s);
return 1;
} else {
*out = strdup(t);
return 5;
}
return 0;
}
Теперь у меня есть:
int foo(char * s, char * t, char ** out) {
someFunction(s, t, out);
printf("%s", *out);
return 0;
}
int someFunction(char *s, char * t, char **out) {
int val = strcmp(s, t);
if (val == 0) {
*out = strdup(s);
return 1;
} else {
*out = strdup(t);
return 5;
}
return 0;
}
И я получаю ошибки сегментации, когда пытаюсь выполнить printf. Должна ли некоторая функция ожидать * выхода? Я думаю, я все еще в замешательстве.