Как поместить выводимые данные с одной переменной в другую? - C (СИ)
Формулировка задачи:
Здравствуйте!
При изучении си появился вопрос
как поместить выводимые данные с одной переменной в другую?
вот пример кода
#include <stdio.h> int main(int argc, const char * argv[]) { int c ; while ((c=getchar())!='\n') { { if ( c==' ') putchar(c); while (c==' ') c= getchar(); } putchar(c); } return 0; }
Решение задачи: «Как поместить выводимые данные с одной переменной в другую?»
textual
Листинг программы
#include <stdio.h> int main () { int c,k=0; char s[80]; while ((c=getchar())!='\n') { if ( c==' ') s[k++]=c; while (c==' ') c=getchar(); s[k++]=c; } s[k]='\0'; puts(s); return 0; }
Объяснение кода листинга программы
В этом коде программа считывает строку с помощью ввода с клавиатуры, затем разбивает эту строку на отдельные слова и выводит каждое слово в новой строке. Вот список действий, которые выполняет код:
- Объявляет две переменные типа int — c и k, и одну переменную типа char — s.
- Инициализирует переменную k значением 0.
- Входит в цикл while, который продолжается до тех пор, пока не будет считыван символ новой строки.
- Внутри цикла считывает следующий символ с клавиатуры и сохраняет его в переменной c.
- Если считанный символ является пробелом, то код сохраняет этот символ в массиве s[k] и увеличивает значение переменной k на 1.
- Если считанный символ не является пробелом, то код продолжает считывать следующие символы до тех пор, пока не встретит пробел, и сохраняет последний считанный символ в массиве s[k] и увеличивает значение переменной k на 1.
- После окончания цикла, код добавляет символ новой строки в конец массива s и сбрасывает значение переменной k на 0.
- Выводит массив s на экран.
- Возвращает 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д