Segmentation fault这句话的意思就是段错误,就是内存泄漏了,strcpy(&a.b[5],argv[1])这句话的意思就是把argv[1]拷贝到结构体a中的b字段的最后一个字符,而字符串的最后编译器都会加上'\0',你把argv[1]拷过去了,占用了'\0'的位置,当然会报段错啊.不理解的,可以继续追问.纯手打,望采纳!
#include
#include
int main(int argc,char **argv)
{
struct test{ char b[5];};
struct test a;
strcpy(&a.b,argv[1]); //strcpy第一个参数为宜字符串指针,指向有确定大小的字符数组
puts(&a.b[5]);
return 0;
}
&a.b[5]这个是错的,改为a.b就成!!
#include