| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1712 人关注过本帖
标题:一道选择题,问了很多人都不知道答案
只看楼主 加入收藏
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
B:-.456 错误
D:'AB' 没有这样的字符常量定义
F:0238 8不是八进制位数
G:0xabcdef 应该也错误的,0x后最多能带2位十六进制数,0可以带三位八进制数

倚天照海花无数,流水高山心自知。
2006-07-31 12:23
wuyufenjr
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-7-20
收藏
得分:0 
以下是引用icesoul在2006-7-31 10:39:02的发言:
版主,答案D确实不对啊
我跟老师怎么评论啊
他即不是字符也非字符串啊

答案D当然是不对啦,怎么会有这样的变量呢?他要么是"AB",要么就'A',单引号表示字符形,又引号表示字符串形,字符形只有一个字节

2006-07-31 12:30
wuyufenjr
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-7-20
收藏
得分:0 
B是正确的
比如有这样一道程序
#include <stdio.h>
main()
{
float m=-.456;
printf("%f",m);
getch();
}
输出结果是
-0.456
2006-07-31 12:32
wuyufenjr
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-7-20
收藏
得分:0 
是-0.456000
2006-07-31 12:32
ecbtnrt
Rank: 1
等 级:新手上路
威 望:1
帖 子:189
专家分:0
注 册:2006-4-16
收藏
得分:0 
以下是引用nuciewth在2006-7-31 12:23:36的发言:
B:-.456 错误
D:'AB' 没有这样的字符常量定义
F:0238 8不是八进制位数
G:0xabcdef 应该也错误的,0x后最多能带2位十六进制数,0可以带三位八进制数

受教了,多谢!


我为你痴,为你狂!
2006-07-31 12:40
michaelsoft
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2006-7-13
收藏
得分:0 
以下是引用nuciewth在2006-7-31 12:23:36的发言:
B:-.456 错误
D:'AB' 没有这样的字符常量定义
F:0238 8不是八进制位数
G:0xabcdef 应该也错误的,0x后最多能带2位十六进制数,0可以带三位八进制数

试一下再作结论不迟。


2006-07-31 12:40
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用wuyufenjr在2006-7-31 12:30:42的发言:

答案D当然是不对啦,怎么会有这样的变量呢?他要么是"AB",要么就'A',单引号表示字符形,又引号表示字符串形,字符形只有一个字节

我曾经也这么认为.

可是.你为什么不去试一下呢?


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-07-31 12:50
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

我刚才编译了一下,发现只有E、F编译通不过,其他的都可以,而且运行结果是。
#include <stdio.h>
main()
{
int a=125;
float b=-.456;
float c=1.25e20;
char d='AB';
int g=0xbcdef;
char h[20]="\n\\\'\123";
printf("%d\n",a);
printf("%f\n",b);
printf("%f\n",c);
printf("%c\n",d);
printf("%d\n",g);
printf("%s\n",h);

getch();
}

运行结果:
125
-0.456000
125000002505109668000.000000
A
-12817

\'S


这样我有的很费解了。不知道怎样解释。我不懂。


倚天照海花无数,流水高山心自知。
2006-07-31 12:55
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 

答案D是字符常量,C语言把字符常量解释成的是int整数常量,所以型如'A','AB','ABC','ABCD'(最多4位,根据编译器有所不同)都可看作字符常量。


由于工作,N久都没来了!
2006-07-31 13:07
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
收藏
得分:0 

只有F选项不是常量吧,:-.456 0可以不写的。‘AB’其实就是B,‘abcd'就存了d,不过不同的机器可能不同,右到左或左到右,放满了,后面的字符就不再显示了,这样理解行么,E6可能辨认不出来,是指数能还是16进制?

[此贴子已经被作者于2006-7-31 13:17:58编辑过]

2006-07-31 13:13
快速回复:一道选择题,问了很多人都不知道答案
数据加载中...
 
   



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

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