我想知道在后台发生了什么导致了seg故障。
char *ptr;
fgets(ptr, 200, stdin);
fprintf(stderr, "Ptr = %s\n", ptr);
由于
答案 0 :(得分:2)
您从未为fgets
分配空间来写入。因此变量ptr
未初始化,并且取消引用它会导致未定义的行为。发生了段错误,因为该值恰好指向不可用的内存。
char *ptr = malloc(200);
答案 1 :(得分:0)
Ptr是一个未初始化的(可能是任何东西)变量。因此fgets将数据转储到未知位置。吊杆。