这是我的代码但它不起作用。我认为问题出在扫描线上。如果你们能帮我,伙计们
char * name;
name = "random name";
puts(name);
printf("Enter a name: ");
scanf("%s", name);
puts(name);
答案1
您需要首先使用malloc分配一些内存,然后释放内存,当您的指针被声明为垃圾值时。
char * name;
printf("Enter a name: ");
name = malloc (sizeof (char) * 81);
fgets (name, 80, stdin);
puts(name);
free(name);
来源:(使用指针表示法从C中的键盘上获取输入字符串?(
答案2
我建议使用固定的char数组值。它干净、安全,而且不需要进行内存管理。
char name[20];
printf("Enter a name: ");
scanf("%s", name);
puts(name);