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"
代码少了一个
另外,虚机团上产品团购,超级便宜
0x是十六进制,凡是十六进制最大只到F。所以比如,0x0G1就是错的
0xab05 0L -597.25