Вывести слова введенной фразы с клавиатуры - C (СИ)
Формулировка задачи:
Прога должна выводить слова введенной фразы с клавиатуры...
Подскажите пжлста где ошибка(и) и что нужно исправить в данной проге....
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <iostream.h>
void main(){
char s[255];
char *slovo;
printf("\nVvedite frazu:\n ");
gets(s);
if ((slovo = strtok(s," ")) == NULL){
printf("Net slov");
exit(0);
}
puts(slovo);
while((slovo = strtok(NULL,"., ?!:"))!= NULL)
puts(slovo);
getch();
}Решение задачи: «Вывести слова введенной фразы с клавиатуры»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
int main()
{
char s[255], *slovo;
printf("Vvedite frazu:\n");
gets(s);
slovo = strtok(s, "., ?!:");
do
{
printf("%s\n", slovo);
}
while ((slovo = strtok(NULL,"., ?!:")) != NULL);
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со строками
- Объявление переменных: строки s и указателя на строку slovo
- Вывод сообщения с просьбой ввести фразу
- Считывание строки с помощью функции gets(s)
- Разделение введенной строки на слова с помощью функции strtok(s,
., ?!:) - Вывод первого слова на экран с помощью функции printf
- Проверка на условие окончания цикла while при помощи оператора !=
- При каждой итерации цикла переменная slovo принимает следующее слово в строке
- Цикл продолжается пока не будет достигнуто последнее слово в строке
- После окончания цикла выводится последнее слово