C语言的简单习题?

下面那些是不合法的常量,为什么?123.4560x10.50x0G100010xFFFF123L0xab050L-597.25123.5e2.0001+1298.6F98... 下面那些是不合法的常量,为什么?
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
展开
 我来答
匿名用户
2011-07-05
展开全部
这段代码百年难得一见,要评一评,一行一行的来

行一:
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"
代码少了一个
另外,虚机团上产品团购,超级便宜
海简
2011-07-02 · TA获得超过146个赞
知道答主
回答量:29
采纳率:0%
帮助的人:15.9万
展开全部
0x是十六进制,凡是十六进制最大只到F。所以比如,0x0G1就是错的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-07-02
展开全部
0xab05 0L -597.25
追问
0L  0是代表八进制数,可L也代表长整型变量 、是以第一个数为依据?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式