Я пытаюсь преобразовать C-String ко всему нижнему регистру без использования tolower из ctype.h. Hower мой код не работает: я получаю ошибку времени выполнения. То, что я пытаюсь сделать, - это изменить значение ASCII заглавных букв bij 'a' - 'A', которое, насколько мне известно, должно преобразовать эти значения в те, что были в нижнем регистре.Преобразование C-String во все нижние
#include <stdio.h>
void to_lower(char* k) {
char * temp = k;
while(*temp != 0) {
if(*temp > 'A' && *temp < 'Z') {
*temp += ('a' - 'A');
}
temp++;
}
}
int main() {
char * s = "ThiS Is AN eXaMpLe";
to_lower(s);
printf("%s",s);
}
Каковы ошибки, которые вы получаете? Похоже, у вас есть дополнительный '}' после 'to_lower'. – SimpleJ
Также похоже, что вы изменяете строковый литерал, который является неопределенным поведением. –
@SimpleJ: У него нет дополнительного '}', это просто неформатированный код. –