当前位置: 代码迷 >> C语言 >> 关于scanf的一个小问题
  详细解决方案

关于scanf的一个小问题

热度:135   发布时间:2007-10-24 14:40:56.0
关于scanf的一个小问题
scanf("%5d%5d%c%c%f%f",&a,&b,&c1,&c2,&x,&y);

scanf("%d%d%c%c%f%f",&a,&b,&c1,&c2,&x,&y);
在键盘输入时有区别吗? 空格1次和2次 效果一样的哇...好像没需要空格5次吧....
可是书上说,有需要注意的地方...完全莫名,不知道诶
搜索更多相关的解决方案: scanf  

----------------解决方案--------------------------------------------------------
scanf("%-5d%5d%c%c%f%f",&a,&b,&c1,&c2,&x,&y);
我刚又加了个负号 怎么不需要我输入东西,就输出0,0,9,....和一些乱码呢?

然后在又改成scanf("%5d%-5d%c%c%f%f",&a,&b,&c1,&c2,&x,&y);
需要我输入,可是我输的只有第一个是准确的,其他又是0,9.....和乱码.... 是我编译器的问题,还是有什么我不知道 麻烦了...
----------------解决方案--------------------------------------------------------
改成下面的:
scanf("%5d %5d %c %c %f %f",&a,&b,&c1,&c2,&x,&y);
就可以了。
----------------解决方案--------------------------------------------------------

在中间加逗号把scanf("%5d,%5d,%c,%c,%f,%f",&a,&b,&c1,&c2,&x,&y);


----------------解决方案--------------------------------------------------------
scanf("%5d %5d %c %c %f %f",&a,&b,&c1,&c2,&x,&y);
在中间加空隔,和加逗号是一个很好的编程习惯.实际上加与不加输出结果是一样的.
----------------解决方案--------------------------------------------------------
以下是引用form521在2007-10-24 17:07:01的发言:
scanf("%5d %5d %c %c %f %f",&a,&b,&c1,&c2,&x,&y);
在中间加空隔,和加逗号是一个很好的编程习惯.实际上加与不加输出结果是一样的.

不过貌似好像在C中加空格和加逗号是有区别的!
有的系统会因为你的错误而输出内存的地址出来的`


----------------解决方案--------------------------------------------------------
最好是空格```我曾经听一位美女高手说过```命令行参数``OJ的参数```都是用空格隔开的```

scanf("%5d%5d%c%c%f%f",&a,&b,&c1,&c2,&x,&y);

我知道在输出的时候可以``%5d%5d

但是输入也可以吗````


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

用空格这点,我记下了 关键是书上特意写的%5d的输入,让我很郁闷 我感觉加不加5 貌似没区别哇...


----------------解决方案--------------------------------------------------------
我觉得这是一个习惯问题,  养成好的习惯对以后的编程是有好处的
----------------解决方案--------------------------------------------------------
  相关解决方案