C语言输入时逗号和空格的区别

#include<stdio.h>#include<stdlib.h>/***/intmain(intargc,char**argv){inta,b;printf("a\... #include <stdio.h>
#include <stdlib.h>

/*
*
*/
int main(int argc, char** argv) {
int a,b;
printf("a\n");
scanf("%d %d",&a,&b);在这个地方%d %d我用空格就能输出我要的结果 为什么我输入逗号就不行呢
if (a>=20)
if (b>=2000)
b=b+200;
else
b=b+180;
else
if (b>=1500)
b=b+150;
else
b=b+120;
printf("%d",b);
system("pause");
return (EXIT_SUCCESS);
}
展开
 我来答
风若远去何人留
推荐于2017-10-02 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450108
专业C/C++软件开发

向TA提问 私信TA
展开全部
在输入时,使用逗号,空格,或者是其它字符,取决于写输入语句时指定的格式。
1 如果在scanf指定用逗号分隔,如

scanf("%d,%d",&a,&b);
那么在输入整型数据时,必须用逗号分隔。
比如1,2.
如果用空格或者其它符号分隔,就会导致输入错误缺闷。

2 如果在scanf中指定用空格分隔,或者缓桥没有明确指定分隔符,那么输入时可以使用任意空白字符分隔伏哪弯。

scanf("%d %d", &a,&b);

scanf("%d%d",&a,&b);

输入值时,可以使用包括空格(' '), 制表符('\t'),以及换行符('\n')等做分隔,都可以实现正确的输入。
kaixingui2012
推荐于2017-09-08 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6256万
展开全部
scanf("%d%d",&a,&b); 两个%d间没有任何字符时,输入数据可以前磨衫用空格、回车、TAB键进行分隔。

如果写成游宏 scanf("%d,%d",&a,&b); 或慧腔scanf("%d/%d",&a,&b); 或scanf("%d+%d",&a,&b);等样子,两个%d间有具体的字符或字符串时,则就要严格用这个分隔信息进行数据分隔才可以!
追问
如果用逗号会怎么样呢
追答
如果你用错了分隔符,则scanf()就不能正常的读到数据了,导致程序运行出错了!
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tattackor
2015-10-29 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:868万
展开全部
1、这个取决于scanf的格式;如果在中间写成了scanf("%d,%d",&a,&b);可以看到除了输入两个雹举数字外还要加入逗号,所以现在输入得加逗号才行。
2、如果想输入500 600就可以的话,要写成scanf("%d%d",&a,&b);注意把中间的逗号给去掉;
一定要注意这蠢桐个格式的问题,两种输入方带肆坦法都行的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iicup
2015-03-26 · TA获得超过890个赞
知道小有建树答主
回答量:597
采纳率:85%
帮助的人:171万
展开全部
对scanf来说. 如果是 "空白", 是特殊处理的. 它表示 "至少需要一个空白",
其中 ' ', '\t', '\n' 都表示 "空白"
如果是其他字符(包括逗号陆尺 ','), 都是普通字符, 需要严格照样输入.

由于你用的是 "%d %d", 所以键隐只能早亮高用 "空白" 来分隔.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式