可能重复:
为什么在写入字符串时会出现分段错误?
我希望这个程序的输出是:ibjgsjfoet但是我得到了一个分段错误.
#include <stdio.h>
int main()
{
char *p="haifriends",*p1;
p1=p;
while(*p!='\0')
++*p++;
printf("%s %s",p,p1);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Mah*_*esh 10
我希望这个程序的输出是:ibjgsjfoet
char *p="haifriends",*p1;
Run Code Online (Sandbox Code Playgroud)
haifriends驻留在内存的只读部分,无法修改.如果您希望修改字符串文字,则必须复制.
char p[]="haifriends",*p1;
p1 = p;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
390 次 |
| 最近记录: |