<分区>
include<stdio.h>
int main()
{
//char b[10];
char *a="goodone";
//a=b;
scanf("%s",a);//this scanf fails and thow segmentation fault.
printf("%s",a);
}
为什么这不起作用?我用这个 scanf 尝试了很多,但是,当我为我的变量 a*(通过分配 a=b(注释))保留内存时,它工作正常。否则它不会。 我相信 char *a 会为其字符串分配一些内存,(“goodone”)并将该内存位置返回给它的值。并且 printf 以这种信念工作得很好,为什么 scanf 不呢? 请救我脱离这个....