отправленный код не компилируется!
При компиляции всегда включайте предупреждения, затем исправляйте эти предупреждения.
Для gcc
при минимальном использовании:
-Wall -Wextra -Wconverson -pedantic -std=gnu11
Примечание: другие компиляторы используют разные опции для получения одинакового вывода.
Компиляция размещенного кода приводит к:
gcc -Wall -Wextra -Wconversion -pedantic -std=gnu11 -c "untitled.c"
untitled.c:8:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
main(){
^~~~
untitled.c: In function ‘main’:
untitled.c:13:14: warning: multi-character character constant [-Wmultichar]
printf('%s',line);
^~~~
untitled.c:13:14: warning: passing argument 1 of ‘printf’ makes pointer from integer without a cast [-Wint-conversion]
In file included from untitled.c:1:0:
/usr/include/stdio.h:318:12: note: expected ‘const char * restrict’ but argument is of type ‘int’
extern int printf (const char *__restrict __format, ...);
^~~~~~
untitled.c: In function ‘getln’:
untitled.c:21:12: warning: conversion to ‘char’ from ‘int’ may alter its value [-Wconversion]
s[i] = c;
^
untitled.c:23:12: warning: conversion to ‘char’ from ‘int’ may alter its value [-Wconversion]
s[i] = c;
^
untitled.c: In function ‘reverse’:
untitled.c:32:15: warning: ‘sizeof’ on array function parameter ‘s’ will return size of ‘char *’ [-Wsizeof-array-argument]
len = sizeof(s)/sizeof(s[0]);
^
untitled.c:30:19: note: declared here
void reverse(char s[]){
Я бы также настоятельно рекомендовал использовать функцию библиотеки C: fgets () to read the line, then use the function:
strspn () to replace the trailing newline with a NUL byte, then use
strlen () `для получения количества символов в строке. Эти функции полностью описаны на страницах MAN
Примечание: это похоже на домашнее задание, поэтому я не собираюсь давать вам код для выполнения задачи, но вы должны быть в состоянии создать его самостоятельно.
В качестве отправной точки функция main()
имеет две действительные подписи:
int main( int argc, char (argv[] )
int main( void )
Обратите внимание, что обе подписи имеют тип возврата int