c语言scanf输入时为什么不能用逗号隔开

 我来答
教育小百科达人
2020-11-03 · TA获得超过156万个赞
知道大有可为答主
回答量:8828
采纳率:99%
帮助的人:475万
展开全部

c语言scanf输入时能用逗号隔开,但是输入数据的时候一定也要加上逗号。用scanf()读取数据时,输入的格式必须和scanf()的格式控制字符串对应。

对于标准输入函数scanf来说,括号内的格式字符串,也就是由" "中的部分,除了%引导的格式字符之外,所有的其他字符必须在输入数据时原样原位置输入。例如:

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

两个%d之间的逗号就是普通字符,它必须在你输入a和b的值的时候,也输入到ab之间。输入如下:

5,6

如果不输入逗号,或者输入空格,输入均不会正确。



扩展资料:

scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。

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

函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;

如果只有a被成功读入,返回值为1;

如果a和b都未被成功读入,返回值为0;

如果遇到错误或遇到end of file,返回值为EOF。end of file为Ctrl+z 或者Ctrl+d。

igmlwl
2015-06-04 · 超过22用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:42.1万
展开全部
可以用逗号或者其他符号隔开的,其实:
scanf("%d %d",&a,&b);
这中间是用空格格开,也可以用 ,/ 等等,都可以隔开,比如:
scanf("%d,%d");
那么你在输入的时候,你要跟上面的格式一样:
17,18
这样就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
啊啊啊的帝国号
2015-06-04 · TA获得超过534个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:43万
展开全部
标准C里面面,scanf()函数是格式化输入函数,他的特点就是原样输入,
比如说
int a;
scanf("A%d",&a);
那就得你先输入了一个A之后,才会把接受到的数给a
比如你从键盘输入了123aaA321aa,然后回车
那前面的123aa编译器是不会管的,接受到A之后,才会把A后面的整数赋值给a
至于再之后的内容,就会等下次输入再处理,
因为这一个scanf接收一个A和一个整数,已经执行完毕了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Polaris北斗
2017-06-20 · TA获得超过3204个赞
知道大有可为答主
回答量:2530
采纳率:79%
帮助的人:820万
展开全部
怎么不能呢?能的,这取决于你的输入格式
如果是这样:
scanf("%d %d %d",&a,&b,&c);
输入时应当用空格隔开

如果是这样:
scanf("%d,%d,%d",&a,&b,&c);
输入时应当用逗号隔开
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e9ad8d9d
2019-06-15
知道答主
回答量:4
采纳率:0%
帮助的人:2800
展开全部
我也在学习,练习习题过程中有一种情况是不能用逗号,空格等等的,就是涉及到%c的情况,因为逗号,空格等都会被认为是字符。
eg.
scanf("%d%c%d",a,b,c);
如果你输入了1 2 3(1空格2空格3),那么第一个空格就被当作字符了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式