请教个指针传参的问题
void myToUpper(char* str)
{
while(*str)
{
if(*str>='a'&&*str<='z')
*str+='A'-'a';
++str;
}
}
int main()
{
char* str = "haLLo!";
myToUpper(str);
puts(str);
}
这样为什么会出现段错误,若把char* str = "haLLo!";改为char str[10]="haLL0!";却不会出错···
[解决办法]
一个char的空间是多少。
"haLLo!"的空间是多少。