楼主: 蒟蒻

[C/C++] 请帮我分析下报错,谢谢

[复制链接]

1

技术

14

魅力

1

原创

退休版主

Rank: 8Rank: 8

积分
8180
人气
416
分享
59

论坛元老活跃会员灌水之王荣誉管理

发表于 2023-1-12 16:15:19 | 显示全部楼层
xiaomeng 发表于 2023-1-11 20:51
这件事你压根就不能@我,我cpp压根就不会

这样的问题,还是@JimmyzZZ @skystars 吧

瓦利瓦利,我的C++已经忘得差不多了
如果有Rust这方面的问题,倒是可以和我交流交流但不保证解决,毕竟我也是小白

0

技术

7

魅力

0

原创

版主

Rank: 7Rank: 7Rank: 7

积分
5100
人气
135
分享
5
发表于 2023-1-12 20:12:15 | 显示全部楼层

…其实北上广的人都能熬,虽然我不是北上广的人
Manners maketh man

0

技术

7

魅力

0

原创

版主

Rank: 7Rank: 7Rank: 7

积分
5100
人气
135
分享
5
发表于 2023-1-12 20:12:48 | 显示全部楼层
JimmyzZZ 发表于 2023-1-12 16:15
瓦利瓦利,我的C++已经忘得差不多了
如果有Rust这方面的问题,倒是可以和我交流交流但不保证解决,毕竟我 ...

为什么不是ruby
Manners maketh man

0

技术

0

魅力

2

原创

初出茅庐

Rank: 2

积分
238
人气
18
分享
2
发表于 2023-1-12 21:39:37 | 显示全部楼层
你看,data是一个char吧。&data指向data。注意data的地址只是一个char的地址,也只能放一个char。

你用了scanf("%s", &data);但是%s是字符串,字符串最小就是char str[1]={'\0'};
如果你在stdin输入了东西,那么除了你输入的字符还有一个\0字符串结束符
这显然比一个char的data要长。所以溢出啦。
建议使用scanf("%c", &data);

评分

参与人数 1经验 +10 原创 +1 收起 理由
蒟蒻 + 10 + 1 很给力!

查看全部评分

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表