gpt4 book ai didi

将字符串从小写转换为大写 段错误

转载 作者:行者123 更新时间:2023-11-30 20:20:29 27 4
gpt4 key购买 nike

我正在尝试将传递给此函数的字符串从小写转换为大写。我不断遇到段错误,但无法确定原因。

void uppercase(char* input)
{
int str_size = strlen(input);
char *string = input;
for (int i = 0; i < str_size; i++)
{
string[i] += -32;
printf("%c", string[i]);
}
return;
}

函数调用函数大写:

#include <stdio.h>
#include <string.h>

int main(void)
{

uppercase("max");

return(0);

}

最佳答案

您传递的字符串是可能存在于只读内存中的文字(因为它是字符串文字,是常量),您不允许修改它。因此出现错误。

将字符串存储在字符数组中,然后将其传递给函数。

char str[]="max";
uppercase(max);

http://www.geeksforgeeks.org/storage-for-strings-in-c/

https://softwareengineering.stackexchange.com/questions/294748/why-are-c-string-literals-read-only

关于将字符串从小写转换为大写 段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46167199/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com