C语言的简单习题?

下面那些是不合法的常量,为什么?
123.456 0x10.5 0x0G1
0001 0xFFFF 123L
0xab05 0L -597.25
123.5e2 .0001 +12
98.6F 98.7U 17777s
0996 -12E-12 07777s
1234uL 1.2Fe-7 15,000
1.234L 197U 100U
0xABCDEFL 0xabcu +123

这段代码百年难得一见,要评一评,一行一行的来

行一:
main使用不当,最简单无返回值的 void main()

资深编程一般用int main(),程序结尾要加上return 0;
就是告诉系统成功执行完毕

行二:
唯一正确的行(除{}外),
记住说明的a,b,c都是字符类型
d是字符类型指针

行三:
a赋值不对,\是转义符,要赋值为\,应该a='\\';

b赋值不对,字符哪放的了这么多,
b='\xhh';b='\t';b='a';b='b';都行
\xhh指任意字符,二位十六进制
\t指水平制表(HT)

行四:
同样c赋值不对,字符哪放的了这么多,
c='\0';c='a';c='b';都行
\0指空字符(NULL)

行伍:
输出表达不对,print是什么啊,晕住了
改成printf,头文件要加上,就是在第一行之前插入#include<stdio.h>

输出了a,b,c,*d四个元素的值,
所以"%c%c%c\n"改成"%c%c%c%c\n"
代码少了一个
另外,虚机团上产品团购,超级便宜
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-02
0x是十六进制,凡是十六进制最大只到F。所以比如,0x0G1就是错的本回答被提问者采纳
第2个回答  2011-07-02
0xab05 0L -597.25追问

0L 0是代表八进制数,可L也代表长整型变量 、是以第一个数为依据?

相似回答