Как поместить выводимые данные с одной переменной в другую? - 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, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д