可能重复:
为什么在写入字符串时会出现分段错误?
我是 C/C++ 的新手,我正在尝试学习它,我创建了以下函数,但是当我尝试将大写值分配给 *string 时,它会引发异常:CPP1.exe 中 0x00411820 处的未处理异常: 0xC0000005: 访问冲突写入位置 0x00417754。
void ToUpper(char* string)
{
while(*string != '\0')
{
if(*string >= 97 && *string <= 122)
{
int symbol = *string;
*string = symbol - 32;
}
string++;
}
}
用法:
char* x = "text";
ToUpper(x);
请你帮助我好吗?