Re: Задача из книги. Начинающий вопрос?
От: roman_fadeyev  
Дата: 12.01.02 14:01
Оценка:
Здравствуйте --, Вы писали:

-->А в конце книги была подсказка. Честно сказать я не понял к чему она.

-->Написано- Здесь следует объявить возвращаемый тип как long и включить оператор return, который бы возвращал величину типа long.
-->В общем такие навороты. Заранее спасибо!
--> :shuffle:

Честно, сказать, я тоже. Тем более, что я читаю ее, оторванной от контекста. Но тем не менее, могу предположить, что речь идет о возвращаемом количестве обработанных символов, но в таком случае, Вам лучше вынести код в отдельную процедуру, так как главная процедура обычно возвращает коды завершения прогаммы (типа 0, 1, -1 ), хотя это и не закон.

Далее, строка
scanf("%c",as);
неправильная. Таким образом Вы вычитаете только 1 символ вместо строки. Если уж Вы затеяли чтение по одному символу, необходимо организовать цикл типа

char c;
do
  scanf("%c",&c);
while  (c!=10); // 10- перевод строки


В этом случае в переменной с будет на каждой итерации будет появляться новое значение из входного потока.
Далее организовываете строку, счетчик, наращиваете его на каждой итерации и передаете scanf смещенную строку. Примерно так

char szLine[255];
char * szLineCur=szLine; 
do
  scanf("%c",szLineCur);
while  (*szLineCur++!=10);
*szLineCur=0;



В таком варианте вы получете указатель на последний символ в строке. Теперь начинайте его декрементировать в цикле и печатайте себе по одному сиволу наздоровье. Условие в цикле: пока szLineCur!=szLine, а печатаете *(szLineCur-1)

За синтаксическую правильность кода не ручаюсь, не проверял, но, по идее, должно компилироватья и работать
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.