两道关于C语言的小题

[复制链接]
查看11 | 回复4 | 2009-7-19 20:09:02 | 显示全部楼层 |阅读模式
第一道:scanf("%2d%1d",&x,&y);的意思是:读取两个整数,第一个整数读取2个长度的,存进整形变量x,第二个整数读取一个长度的,存进y里,多余的数忽略。第二道:c+='6'-'3';‘6’-‘3’是他们的ASCII码相减,所以是3,即等价为 c+=3;而c原本等于‘A’,ASCII码加3后为‘D’,所以printf("%c",c)输出字符‘D’printf("%x",c);printf("%o",c);printf("%d",c);是分别输出他们的十六进制(44)、八进制(104)和十进制(68),所以结果为D4410468...
回复

使用道具 举报

千问 | 2009-7-19 20:09:02 | 显示全部楼层
第一题scanf("%2d%1d",&x,&y);即x占两位,为12,y占一位为3,x+y=15第二题c+='6'-'3';c=c+'3'='D'%c
一个字符 :D%o
无符号八进制整数:44%x
使用十六进制数字0f的无符号十六进制整数:104 %d
有符号十进制整数:68...
回复

使用道具 举报

千问 | 2009-7-19 20:09:02 | 显示全部楼层
main(){int x,y;scanf("%2d%1d",&x,&y);/*ld 改d吧*/printf("%d\n",x+y);} main(){char c='A';c+='6'-'3';printf("%c",c);/* 'A'=65 101 41 加上3printf("%x",c);printf("%o",c...
回复

使用道具 举报

千问 | 2009-7-19 20:09:02 | 显示全部楼层
第一题:读入%2d指读入两位 x=12 %1d-》y=3 第一题:c+='6'-'3';等价于c==‘c’+'6'-'3';也就是c的ASCII码加3,就得到D第一个输出是按字符输出最后一个是十进制输出ASCII码%x是16进制输出%o是8进制输出...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行