gpt4 book ai didi

c - 为什么 char * malloc 给我一个 scanf 的段错误?

转载 作者:行者123 更新时间:2023-11-30 14:23:35 26 4
gpt4 key购买 nike

char * input = (char*)malloc(256);

scanf("%s", input);

段错误。为什么?我在 C 语言中的字符串方面遇到了很多麻烦,但我觉得一切都在这里完成了。我什至遵循了 10 万以上 SO 用户的例子。

最佳答案

该错误可能由以下原因引起:

  • malloc() 未能分配任何内存,请检查结果是否为 NULL。
  • 由于 scanf 缓冲区溢出,超过 256 个字符。
  • 由于忘记包含 <stdlib.h>然后对 malloc 的结果进行类型转换。更多信息here .

关于c - 为什么 char * malloc 给我一个 scanf 的段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12771613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com