技术0
经验159
魅力0
人气18
分享2
原创2
注册时间2023-1-5
最后登录2023-1-23
阅读权限15
在线时间5 小时
主题1
回帖14

初出茅庐

- 积分
- 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);
|
评分
-
查看全部评分
|