[求助]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);
请教大家,这是为什么?
----------------解决方案--------------------------------------------------------
你的输入是怎么样的
----------------解决方案--------------------------------------------------------
第一段代码的输入是这样的:
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函数在一起,可能会出错
----------------解决方案--------------------------------------------------------
嘿嘿
我试一下再说哈!
----------------解决方案--------------------------------------------------------