【发布时间】:2012-05-26 23:09:38
【问题描述】:
为什么以下代码返回分段错误?当我注释掉第 7 行时,段错误消失了。
int main(void){
char *s;
int ln;
puts("Enter String");
// scanf("%s", s);
gets(s);
ln = strlen(s); // remove this line to end seg fault
char *dyn_s = (char*) malloc (strlen(s)+1); //strlen(s) is used here as well but doesn't change outcome
dyn_s = s;
dyn_s[strlen(s)] = '\0';
puts(dyn_s);
return 0;
}
干杯!
【问题讨论】:
-
@Lundin,请指出这是什么副本?如果您指的是stackoverflow.com/questions/37549594/…,我会说我的问题是 4 岁以上
标签: c segmentation-fault