当前位置: 代码迷 >> C语言 >> [求助]scanf的有趣问题,为什么不能同时输入那么多的数据?请大家指点
  详细解决方案

[求助]scanf的有趣问题,为什么不能同时输入那么多的数据?请大家指点

热度:101   发布时间:2007-11-07 17:58:14.0
[求助]scanf的有趣问题,为什么不能同时输入那么多的数据?请大家指点
[求助]scanf的有趣问题,为什么不能同时输入那么多的数据?

我在使用scanf的时候,遇见了如下问题:
int x, y, z, a1, b1, c1;
scanf("x=%d,y=%d,z=%d", &x, &y, &z);
scanf("%d,%d,%d", &a1, &b1, &c1);
printf("x=%d,y=%d,z=%d\n", x, y, z);
printf("a1=%d,b1=%d,c1=%d\n", a1, b1, c1);
这时候可以正常输入所有的值,可以如果改成下面的代码,就只能正确输入第一个scanf中的数据
int x, y, z, a1, b1, c1;
scanf("x=%d,y=%d,z=%d", &x, &y, &z);
scanf("a1=%d,%d,%d", &a1, &b1, &c1);
printf("x=%d,y=%d,z=%d\n", x, y, z);
printf("a1=%d,b1=%d,c1=%d\n", a1, b1, c1);
请教大家,这是为什么?
搜索更多相关的解决方案: 数据  输入  scanf  

----------------解决方案--------------------------------------------------------

你的输入是怎么样的


----------------解决方案--------------------------------------------------------
第一段代码的输入是这样的:
x=1,y=2,z=3 回车
4,5,6 回车
(完成)
第一段打印出来的结果是正确的

第二段代码的输入是这样的:
x=1,y=2,z=3 回车
a1=4,5,6 回车
(完成)

但第二段打印出来的结果x,y,z是正确的,其它是错误的。


----------------解决方案--------------------------------------------------------
x=1,y=2,z=3a1=4,5,6 回车
这样输入就行了
----------------解决方案--------------------------------------------------------
3楼说的是对的!
----------------解决方案--------------------------------------------------------
受教!
----------------解决方案--------------------------------------------------------

但为什么会这样呢???


----------------解决方案--------------------------------------------------------
4#

x=1,y=2,z=3a1=4,5,6

x=1,y=2,z=3
a1=4,b1=5,c1=6

----------------解决方案--------------------------------------------------------
       两个scanf函数在一起,可能会出错
----------------解决方案--------------------------------------------------------
嘿嘿

我试一下再说哈!
----------------解决方案--------------------------------------------------------
  相关解决方案