@EmachinesDIMA
junior DevOps

Как сформулировать правильно цикл, чтобы прекращал проверять «это цифра», когда за ней уже буква?

for (pch = s1; *pch; ++pch) {
		if (isalpha(*pch))
			*pch = islower(s1[0]) ? tolower(*pch) : toupper(*pch); // ternary operator
		else if (isdigit(*pch)) {
			while (isdigit(*pch) && isalpha(*pch++))
				pch++;
		}


Допустим исходная строка:
7ello, World!!111oneONEone

и чтобы было
7ello, world!!111oneoneone
а не
7eLLO, WORLD!!111oNEONEONE
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
@EmachinesDIMA Автор вопроса
junior DevOps
https://pastebin.com/4rrDRWgw

char *pch;
	for (pch = s1; *pch; pch++) {
		if (isalpha(*pch)) {
			if (isupper(s1[0]))
				*pch = toupper(*pch);
			else
				*pch =  tolower(*pch) ;
		}
		else continue;
	}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы