| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1250 人关注过本帖
标题:无论怎么严格按照格式控制串来输入,怎么输出总是多了后面的乱码的?
只看楼主 加入收藏
tm00
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2016-10-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
无论怎么严格按照格式控制串来输入,怎么输出总是多了后面的乱码的?
int main(){
     char a[20],b[20],c[20],d[20];
     printf("请输入:\n");
     scanf("%s%s%s,%s",a,b,c,d);
     printf("%s %s %s %s",a,b,c,d);
     printf("\n");
     system("pause");
     return 0;
 }
怎么输出总是多出后面的乱码呢

图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: system return 
2016-11-07 16:35
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:5 
图片附件: 游客没有浏览图片的权限,请 登录注册

能不能看懂?变量d根本什么都没读到。我这里因为d本身正好是"\0"所以没有输出,题主的环境。。。换个环境估计结果又不一样。
至于解决方法。。首先得看题主是不是非要这个逗号作为字符串的分隔符,如果是请百度“scanf %[]”

φ(゜▽゜*)♪
2016-11-07 16:40
tm00
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2016-10-29
收藏
得分:0 
回复 2楼 书生牛犊
我想看看有非格式字符的情况下,输入有什么影响,肯定是要有逗号或别的非格式符号了。现在情况是无论我是刚刚输入合适足够的字符还是多输入,运行都会有后面这些乱码出现,搞不明白是怎么回事。
2016-11-07 17:02
Ted_Ming
Rank: 2
等 级:论坛游民
帖 子:15
专家分:35
注 册:2016-11-2
收藏
得分:5 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
, 由此可知 d 没得到输入
2016-11-07 17:28
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:5 
scanf("%s%s %[^,],%s",a,b,c,d);按照原来的输入试试。
2016-11-07 20:13
tm00
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2016-10-29
收藏
得分:0 
回复 4楼 Ted_Ming
为什d没得到输入,要怎么样才得d得到输入?
2016-11-07 22:49
快速回复:无论怎么严格按照格式控制串来输入,怎么输出总是多了后面的乱码的?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016157 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved