【发布时间】:2015-08-06 10:05:06
【问题描述】:
我已经编写了几个 C 程序,并且认为这很难问。但是为什么我会收到以下代码的分段错误,该代码应该将“test”替换为“aaaa”?
#include <stdio.h>
int main(int argc, char* argv[])
{
char* s = "test\0";
printf("old: %s \n", s);
int x = 0;
while(s[x] != 0)
{
s[x++] = 'a'; // segmentation fault here
}
printf("new: %s \n", s); // expecting aaaa
return 0;
}
【问题讨论】:
标签: c arrays char segmentation-fault