<div>Ну во-первых int main();</div><div>во вторых, здесь нет ввода с консоли либо из файла, видимо задумывалось так:</div><div> </div><div>while ((string[i] = getchar()) != EOF)  {</div><div>        i++;<br />}</div><div> </div><div>Насколько я помню есть стандартная функция strlen возвращающая длину строки, но здесь это не нужно вообще, т.к. в i у тебя длина строки</div><div> </div><div> reverse(string, revstring);</div><div> и функцию reverse следует объявить так:  void reverse(char * direct, char * reversed, int n) и использовать так reverse(string, revstring,i);   </div><div> писать не в цикле while</div><div> </div><div>и в функции reverse цикл будет примерно такой</div><div><div>for (i = n - 1 , j = 0; i &gt; -1 ; i-- , j++) </div><div>        {</div><div>        reversed[j]=direct[i];</div><div>        printf("%c", reversed[j]);</div><div>        }</div><div>а while не нужен</div><div>И с printf будут проблемы он либо напечатает хвост либо ничего не напечатает, имхо</div><div>на первый взгляд всё</div></div><div>29.10.2011, 21:07, "Костя Шулепов" &lt;graph94@mail.ru&gt;:</div><blockquote>Я написал небольшую программку, которая должна выводить вводимый текст, т.е. каждую строку отдельно в обратном порядке. Вот исходный код:<br /><br /><br />#include &lt;stdio.h&gt;<br /><br />void getline(char s[]);<br />void reverse(char direct[], char reversed[]);<br /><br />main()<br />{<br />char string[1000];<br />char revstring[1000];<br />int i=0;<br /><br />while (!EOF) <br />        {<br />        getline(string);<br />        reverse(string, revstring);      <br />}<br /><br />void reverse(char direct[], char reversed[])<br />{<br />int i=0;<br />int j=0;<br /><br />while (direct[i]!='\n' || direct[i]!='\0') ++i;<br />for (i; i!=0; --i) <br />        {<br />        reversed[j]=direct[i];<br />        ++j;<br />        printf("%c", reversed[j]);<br />        }<br />} <br /><br />void getline(char s[])<br />{<br />int i,c;<br /><br />for (i=0; (c=getchar())!=EOF || c!='\n'; ++i)  s[i]=c; <br />if (c=='\n') <br />        {s[i]=c;<br />         ++i;<br />        }<br />}<br /><br />при попытке скомпилировать выдает вот такие ошибки:<br /><br />strings.c:3: error: conflicting types for ‘getline’<br />/usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here<br />strings.c: In function ‘main’:<br />strings.c:41: error: expected declaration or statement at end of input<br /><br />подскажите что не так, пожалуйста.<br /><br /><br /><br /><br /><br /><br /><p>_______________________________________________<br />Lab mailing list<br /><a href="mailto:Lab@wiki.syktsu.ru">Lab@wiki.syktsu.ru</a><br /><a href="http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab">http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab</a></p></blockquote><div>-- <br />Заходим на melinux.ru - всё про Linux и не только</div>