Как преобразовать строку из нижнего регистра в верхний без использования нотации массива?
Задача состоит в том, чтобы преобразовать строку из нижнего регистра в верхний без использования нотации массива?
Подсказка, которую мне дали, была "изменить сам указатель строки", Я думал, что вы не можете изменить указатель строки. Я не знаю, как работать с циклом while.
Любая помощь была бы очень кстати.
Что я уже пробовал:
int main(void) { uppercase_no_array("reverse"); return(0); } void uppercase_no_array(char* input) { char* copy = malloc(sizeof(char) * strlen(input)); strcpy(copy, input); printf("%s", copy); while(copy != '\0') { } return; }
Afzaal Ahmad Zeeshan
Вы почти там, просто добавьте оператор внутри этого цикла while и проверьте, попадает ли символ в нижний регистр ASCII, и измените его на верхний регистр ASCII.