在gcc上编译后运行下面的代码时,出现段错误。在GCC编译器中使用strupr(...)时的分段错误
#include <stdio.h>
#include <string.h>
int main(void)
{
struct emp
{
char *n;
int age;
};
struct emp e1={"David",23};
struct emp e2=e1;
strupr(e2.n);
printf("%s\n%s\n",e1.n,e2.n);
return(0);
}
值得补充的是,有一个GCC警告选项来发现这个问题,-Wwrite-strings。 –