Выяснить, есть ли в строке символы "запятая" и "тире", которые встречаются последовательно - C (СИ)
Формулировка задачи:
Заданна строка символов. Выяснить, есть ли в этой строке символы "запятая" и "тире" которые встречаются последовательно.
Решение задачи: «Выяснить, есть ли в строке символы "запятая" и "тире", которые встречаются последовательно»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
int main()
{
char stroka[] = "blah blah,-blah";
char *ptr = strchr(stroka,',') ;
if(ptr && *(ptr+1)=='-')
{
printf("Yes");
}
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлена строка
strokaтипаcharс фиксированным значениемblah blah,-blah. - Вычисляется адрес первого вхождения запятой в строке
strokaс помощью функцииstrchr(). - Если запятая найдена и следующая за ней единица памяти содержит тире (
*(ptr+1)=='-'), то выводится словоYes. - Возвращается ноль, чтобы программа завершилась.