【发布时间】:2017-05-08 22:10:37
【问题描述】:
我最近看到一个让我头疼的答案,
那家伙写了这段代码,它的值为1。
cr 是一个整数。
cr = scanf("%d %.2f",&x,&y)
那么你怎么能这样做呢?为什么它给出 1?
【问题讨论】:
-
您是否尝试过阅读文档?查找
RETURN VALUE部分。 -
google 'man scanf'
-
您是否查找过有关 scanf 的文档以及它的返回值是什么?文档在你头上吗?
-
%.2f应该是%f(假设float y;)。与printf的输出规范混淆。scanf和printf这两个函数在格式规范上有一些相似之处,但又有所不同。函数scanf给出了 1,因为它无法转换为第二个目标。 -
或
%2f。.导致未定义的行为