[P&AM Lab] (без темы)

rg-400 rg-400 на list.ru
Вс Окт 30 18:15:55 MSK 2011


On 30.10.2011 14:25, Рябов Евгений wrote:
> Ну во-первых int main();
> во вторых, здесь нет ввода с консоли либо из файла, видимо 
> задумывалось так:
> while ((string[i] = getchar()) != EOF)  {
>         i++;
> }
> Насколько я помню есть стандартная функция strlen возвращающая длину 
> строки, но здесь это не нужно вообще, т.к. в i у тебя длина строки
>  reverse(string, revstring);
>  и функцию reverse следует объявить так:  void reverse(char * direct, 
> char * reversed, int n) и использовать так reverse(string, revstring,i);
>  писать не в цикле while
> и в функции reverse цикл будет примерно такой
> for (i = n - 1 , j = 0; i > -1 ; i-- , j++)
>         {
>         reversed[j]=direct[i];
>         printf("%c", reversed[j]);
>         }
> а while не нужен
> И с printf будут проблемы он либо напечатает хвост либо ничего не 
> напечатает, имхо
> на первый взгляд всё
>
EOF может быть равен -1.

int c, i = 0;

while ( (c= getchar()) != EOF)  {
     string[i++] = c;
}
string[i] = '\0';





Подробная информация о списке рассылки Lab