Я пытаюсь преобразовать символ строки в верхний регистр буквошибка преобразования символов в строке в верхний регистр
int main (void)
{
int i = 0;
int n = 0;
static char *str[] = { "wow",
"RACEcar",
"No devil lived on.",
"rotor" };
for(i = 0; i < strlen(*str); i++)
{
if(str[i] != NULL)
{
n = function(str[i]);
}
}
return 0;
}
int function(char* x)
{
int i = 0;
int j = strlen(x);
char c;
for(i = 0; i < j; i++)
{
c = toupper(x[i]);
x[i] = c;
}
return 0;
}
Я получил сообщение об ошибке сказав exc bad access, code 2
в строке, где x[i] = c;
я не уверен, почему я получаю это ошибка, мне нужно создать другую строку и назначить c новой строке? toupper возвращает прописную букву символа, но фактически не изменил сам элемент, поэтому я не уверен, что неправильно с присвоением значения return toupper обратно элементу.
i == 0? должно ли оно быть i = 0? –
Да, это была моя опечатка, когда я набираю вопрос здесь, но это не проблема –
Как вы назвали эту функцию? Отправьте эту часть кода. –