| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 599 人关注过本帖
标题:关于06年9月C二级中的一道题
只看楼主 加入收藏
hackerjiang
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:3
帖 子:780
专家分:111
注 册:2007-4-27
结帖率:100%
收藏
 问题点数:0 回复次数:6 
关于06年9月C二级中的一道题
第18题

设有定义:int a;flat b; 执行scanf("%2d%f",&a,&b); 语句时,如果从键盘输入 876543.0<回车> ,a与b的值分别是?

正确答案是 87与6.000000

我觉得不对劲,应该是 87与6543.000000

然后写了程序如下:
/* TC2 */
#include "stdio.h"
int main()
{
    int a;float b;
    scanf("%2d%f",&a,&b);
    printf("%d %f",a,b);
    getch();
    return 1;
}

运行后输入876543.0<回车> 结果是我所预料的 87与6543.000000

但C二级不会错吧?
这题的四个选项:(选B)
A 876 543.000000    B 87 6.000000
C 87 543.000000     D 87 543.000000
搜索更多相关主题的帖子: 键盘 include 正确答案 return 
2010-04-16 09:22
mywaylgh
Rank: 8Rank: 8
来 自:厨房
等 级:蝙蝠侠
威 望:5
帖 子:188
专家分:729
注 册:2010-3-10
收藏
得分:0 
C二级为什么不会错?

人生就像茶几 上面放着许多杯具

人生也像厨房 里面总有一些洗具
2010-04-16 09:33
xiaoxinwan
Rank: 2
等 级:论坛游民
帖 子:52
专家分:91
注 册:2010-4-6
收藏
得分:0 
你都用事实说明你是对的了。你还担心什么啊。
2010-04-16 11:49
画圈成句点
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:143
注 册:2010-3-28
收藏
得分:0 
不知道说什么
2010-04-16 12:34
白色轨迹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:42
注 册:2010-3-20
收藏
得分:0 
楼主,你是不是把题看错了。



或者就是盗版书……

scanf("%2d%f",&a,&b);%号前面的数字是读取的位数。。

如果是scanf("%2d%1f",&a,&b);就应该是选B,不然是没有答案的。
2010-04-16 13:01
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
回复 楼主 hackerjiang
我也试了,结果和你想的一样。
那就说明答案错了。
实验是检验真理的唯一标准。

南国利剑
2010-04-16 13:07
hackerjiang
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:3
帖 子:780
专家分:111
注 册:2007-4-27
收藏
得分:0 
回复 5楼 白色轨迹
你自己去试一试就知道了。

如果一个变量 A=456

printf("2%d",A);    输出则是2456。

百分号后边的数字才是表示长度。

(づ ̄ 3 ̄)づ
2010-04-23 07:21
快速回复:关于06年9月C二级中的一道题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026273 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved