鱼C论坛

 找回密码
 立即注册
查看: 2559|回复: 9

[已解决]c语言中关于字符串的输入与输出问题

[复制链接]
发表于 2021-5-31 12:32:02 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码如图所示,运行结果在右边
输入后无法进行输出
忽略屏幕有点脏
最佳答案
2021-5-31 14:42:27
CClook 发表于 2021-5-31 14:31
各位知道问题所在了
char     c,  s[80];
scanf_s("%c %s ,  &c, 1,s,80);   //字符c输入1个,c后面跟1, ...

能给个最佳嘛
A157F8D9-27B6-4D6F-BDD8-A63711FB29AE.jpeg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-31 12:38:32 From FishC Mobile | 显示全部楼层
scanf_s有好几个参数呢,不能省略
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-31 12:52:12 | 显示全部楼层
scanf_s改为scanf应该就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-31 13:33:56 | 显示全部楼层
ANSI C中没有scanf_s(),只有scanf(),scanf()在读取时不检查边界,所以可能会造成内存访问越界,例如分配了5字节的空间但是读入了10字节
char buf[5]={'\0'};
scanf("%s", buf);如果输入1234567890,后面的部分会被写到别的空间上去。以上代码如果用scanf_s,第二行应改为scanf_s("%s",buf,5),表示最多读取5-1个字符,因为buf[4]要放'\0'
scanf_s最后一个参数是缓冲区的大小,表示最多读取n-1个字符.
你改成
scanf("s",a);
试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-5-31 14:04:48 | 显示全部楼层
wp231957 发表于 2021-5-31 12:38
scanf_s有好几个参数呢,不能省略

话说为什么我学的时候得scanf里&a。直接a没关系吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-31 14:09:03 From FishC Mobile | 显示全部楼层
kogawananari 发表于 2021-5-31 14:04
话说为什么我学的时候得scanf里&a。直接a没关系吗

后面跟地址啊,数组名不就是地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-31 14:24:37 | 显示全部楼层
肖-肖 发表于 2021-5-31 12:52
scanf_s改为scanf应该就可以了

Visual Studio版本没法使用scanf
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-31 14:26:38 From FishC Mobile | 显示全部楼层
CClook 发表于 2021-5-31 14:24
Visual Studio版本没法使用scanf

可以的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-31 14:31:48 | 显示全部楼层
各位知道问题所在了
char     c,  s[80];
scanf_s("%c %s ,  &c, 1,s,80);   //字符c输入1个,c后面跟1,s字符数组80个,所以s后面加80
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-31 14:42:27 | 显示全部楼层    本楼为最佳答案   
CClook 发表于 2021-5-31 14:31
各位知道问题所在了
char     c,  s[80];
scanf_s("%c %s ,  &c, 1,s,80);   //字符c输入1个,c后面跟1, ...

能给个最佳嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 13:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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