Ваша ошибка компиляции связана с тем, что вы вызываете reverse2
в main
, но компилятор C не знает внутри main
что reverse2
is все же , поскольку reverse2
определено после main
.(Компилятор C должен иметь возможность компилировать файл .c в потоковом режиме, поэтому это означает, что все, что ему нужно для компиляции чего-либо - например, функции - должно быть определено заранее)
Если вы инвертируете порядокиз двух функций (т.е. вы ставите reverse2
перед main
) или добавляете это объявление:
void reverse2(char*, char*);
перед main()
, тогда эта ошибка не произойдет.
(я не проверял ваш код, поэтому я не знаю, выполняет ли он то, что вы хотите, но ваш вопрос касается ошибки компиляции: а не инвертирует ли код строку))