| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2110 人关注过本帖
标题:scanf中的%d和%c加不加空格
只看楼主 加入收藏
黑暗骑士5D
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2019-11-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
scanf中的%d和%c加不加空格
为什么%c要加空格而%d不用
搜索更多相关主题的帖子: scanf 空格 
2019-11-06 10:44
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:10 
为什么%c要加空格
要不要加空格,不是取决于它是不是%c,而是取决于你想不想略过前面的空白字符。你想略过空白字符的话,你就加;不想略过空白字符的话,就不能加。
%d %s 等,因为“不略过前面的空白字符”的情况是没存在意义的,所以必然会略过前面的空白字符,那么在它们之前加上空格就是多此一举。
2019-11-06 10:58
梦之痕
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2019-11-5
收藏
得分:0 
不用加吧
2019-11-06 17:10
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:10 
是这样的```在不加空格的情况下"%d%c%c",&a, &b , &c 当你输入“3空e空f” 你第一个是整形 自然会把你输入的数字给第一个a,你输入第二个是空格,会把这个空格当成字符赋值给b 你输入第三个是e,会把e赋值给c 这样程序就认为已经完成了赋值,而不会理会后面的"空f"
结果a=3,b=' ',c='e'
可以这样测试
程序代码:
#include<stdio.h>

 main()
{
long a;
char b,c;
scanf("%d%c%c",&a, &b, &c); //输入“3空e空f”
printf("%c\n",c); //输出变量c为'e'
return 0;
}
2019-11-06 19:45
快速回复:scanf中的%d和%c加不加空格
数据加载中...
 
   



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

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