Добавить условие на вывод ошибки, если нет пробела в строке - C (СИ)
Формулировка задачи:
Подскажите , пожалуйста, как добавить условие, чтобы выводило ошибку, если нет пробела в строке??
#include <conio.h> #include <stdlib.h> #include <string.h> #include <stdio.h> int main() { char stroka1[255]=""; puts("Vvedite stpoky:"); gets(stroka1); int i,n=0,k=0,l=strlen(stroka1); for(i=1;i<l;i++) if(stroka1[i]==' ') { if(n==0) n=i; k=i; } // цикл поиска положения первого и последнего пробела в stroka1 strncpy(stroka1,strncat(strncat(strncat(stroka1,stroka1+n,k-n)+k+1,stroka1+n,1),stroka1,n),l+1); // функция, меняющая местами первое и последнее слова в строке stroka1 puts("\nOtvet:"); puts(stroka1); getch(); }
Решение задачи: «Добавить условие на вывод ошибки, если нет пробела в строке»
textual
Листинг программы
while (!isspace(*psz) && *psz != '\0') str1[i++] = *psz++; if (!isspace(*psz)) {printf("Net probelov"); getchar(); return 1;}
Объяснение кода листинга программы
- В коде представлен фрагмент программы на языке C.
- Фрагмент кода отвечает за добавление условия на вывод ошибки, если нет пробела в строке.
- В первой строке кода используется оператор while, который проверяет условие: «!isspace(psz) && psz != '\0'».
- Переменная «psz» содержит указатель на текущий символ в строке.
- Условие оператора while проверяет, является ли текущий символ пробелом или нет («!isspace(*psz)»).
- Если текущий символ не пробел, то он добавляется в строку «str1» с помощью оператора присваивания и инкремента переменной «i» («str1[i++] = *psz++;»).
- Если после цикла while остается не пробельный символ, то выполняется блок кода, который включает в себя функцию printf для вывода сообщения об ошибке и функцию getchar для получения символа от пользователя, а затем возвращается значение 1.
- Сообщение об ошибке, которое выводится на экран, содержит текст
Net probelov
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д