社区
C语言
帖子详情
这是scanf的漏洞吗?
xliu2019
2003-09-12 05:51:45
char ss[10],ch;
scanf("%s%ch",ss,ch);
为什么得不到ch 的预想值,无论ss和ch 用回车还是空格分开?
...全文
136
11
打赏
收藏
这是scanf的漏洞吗?
char ss[10],ch; scanf("%s%ch",ss,ch); 为什么得不到ch 的预想值,无论ss和ch 用回车还是空格分开?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Aofa_lee
2003-09-14
打赏
举报
回复
我想说的他们都说完了!
gogo528
2003-09-14
打赏
举报
回复
ch怎么能够用来表示数据类型呢?
在scanf中,%后面跟的是数据类型而不是变量名啊!
所以应该是:scanf("%s %c",ss,&ch);才对呀!
swtju94_2
2003-09-12
打赏
举报
回复
up
tuxw
2003-09-12
打赏
举报
回复
scanf("%s%ch",ss,&ch); 加个h也不犯法呀
scanf("%s%c",ss,&ch); 这样还是得不到正确结果的
关键在scanf需要给出明确的分隔符,用一个空格分开格式符是个好习惯
scanf("%s %c",ss,&ch); 这样输入时就可以用空格或回车分开各个操作数了
tianjieshui
2003-09-12
打赏
举报
回复
char ss[10],ch;
scanf("%s%c",ss,&ch);
%c是格式控制 不能写成%ch
locky1982
2003-09-12
打赏
举报
回复
scanf("%s%ch",ss,&ch);
这样应该就可以
晨星
2003-09-12
打赏
举报
回复
学习。
鄢老
2003-09-12
打赏
举报
回复
"arfi()"说的很对,其实scanf在调用的时候,先调用的是数组和变量的地址,然后通过他们的地址找的他。所以才有了"&ch",至于存在"ss",是因为"ss"本身表示的是字符串的首地址。
arfi
2003-09-12
打赏
举报
回复
scanf("%s%*c%c",ss,&ch);
晨星
2003-09-12
打赏
举报
回复
char ss[10],ch;
scanf("%s%c",ss,&ch);
mahu213
2003-09-12
打赏
举报
回复
不对吧。
scanf的格式不允许这样啊!
应该是这样的:
scanf("%s%c",ss,ch);
16. VS上提示
scanf
函数不安全,怎么办?.pdf
16. VS上提示
scanf
函数不安全,怎么办?
格式化串
漏洞
利用技术
格式化串
漏洞
利用技术.rar
scanf
详细介绍
一个
scanf
详细介绍的文本 包含很多你可能不会的技巧
【ASP.NET编程知识】VS2015使用
scanf
报错的解决方法.docx
【ASP.NET编程知识】VS2015使用
scanf
报错的解决方法.docx
二进制
漏洞
挖掘-栈溢出-开启FORTIFY1
二进制
漏洞
挖掘-栈溢出-开启FORTIFY1
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章