如何将用户输入存储到char*类型的变量中



这是我的代码但它不起作用。我认为问题出在扫描线上。如果你们能帮我,伙计们

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);

相关内容

  • 没有找到相关文章

最新更新