为什么c语言中用gets函数会出现segmentation fault?

为什么c语言中用gets函数会出现segmentationfault?而使用scanf却没问题... 为什么c语言中用gets函数会出现segmentation fault?而使用scanf却没问题 展开
 我来答
风若远去何人留
2016-11-29 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20403 获赞数:450142
专业C/C++软件开发

向TA提问 私信TA
展开全部
gets是读入整行
用来输入字符串的。
比如 你输入的是12345678
那么 用scanf
a=12345678
如果是用gets
a的地址上存的是"12345678"这个字符串
需要9个字节。
而a作为long int只有4个字节 自然出错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
xiaofeicollege
2016-11-29 · TA获得超过129个赞
知道答主
回答量:112
采纳率:0%
帮助的人:88万
展开全部
gets函数是读取字符串函数的,而你的a的类型是long int
追问
感谢!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式