c语言scanf()输入函数

scanf()输入函数:
输入多个变量时,可用空格或回车间隔,但不能用","这句话是什么意思呀
另外scanf("%d%d",&a,&b)让用户输入2个整数,放到变量a,b中。 这句话中说到的2个整数 那意思就是 用int 吧 可是 我做习题时 用 float 输入 也可以 得出结果 这和“让用户输入2个整数”不相悖么?
哦 明白了 那第一个问题呢 : 输入多个变量时,可用空格或回车间隔,但不能用","这句话是什么意思呀。 这个没解答啊

scanf是C语言中的一个输入函数,与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include 。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include 。)它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-06
到底能不能用逗号间隔取决于你的输入格式:
scanf("%d%d",&a,&b),这种就是要用空格和回车间隔
scanf("%d %d",&a,&b),两个%d之间有空格,这个就必须用空格间隔
scanf("%d,%d",&a,&b),两个%d之间是逗号,这个就必须用逗号间隔
综上所述,scanf里的输入格式是怎么间隔的,你就要怎么间隔,如果没有间隔,则默认为用空格和回车间隔,知道了吗?本回答被提问者采纳
第2个回答  2011-01-06
不相悖的,因为float的精度比int的精度要高,宽度长,所以这两个变量也可以,但是如果你要是反过来就不行了,你可以试试!!
第3个回答  2011-01-06
C中类型转换没有十分明显,它是自己帮你转换了,你编译时会出现一个警告。如果在其他比较重要的话就会 运行出错。在C++中也会的。
所以 你用float类型时可以得出结果,但是类型不一样
相似回答