Почему tolower(*(text+i)); в моем операторе if не выполняется при запуске программы?
tolower(*(text+i));
#include <stdio.h> #include <ctype.h> void vowel_caser(char text[]) { int i = 0; while(*(text+i) != '\0') { if (*(text+i) == 'A' || *(text+i) == 'E' || *(text+i) == 'I' || *(text+i) == 'O' || *(text+i) == 'U') { tolower(*(text+i)); } i++; } } int main() { char test[] = "This is An example"; vowel_caser(test); puts(test); return 0; }
tolower возвращает новое значение. Не изменяет значение на месте.
tolower
Если вы хотите sh изменить персонаж, вам нужно:
text[i] = tolower(text[i]);