关于C++的问题17

[复制链接]
查看11 | 回复2 | 2011-1-9 22:57:32 | 显示全部楼层 |阅读模式
哪位高手能告诉我下面的那两个程序中为为什么第一个程序的输出结果为65 66而第二个程序的结果却不是而是A B呢
这是为什么啊,请给出详细的解释
程序1
#include
using namespace std;
int main()
{int i, j;
i='A';
j='B';
cout<
using namespace std;
int main()
{char c1,c2;
c1='a';
c2='b';
c1=c1-32;
c2=c2-32;
cout<<c1<<' '<<c2<<endl;
return 0;}

回复

使用道具 举报

千问 | 2011-1-9 22:57:32 | 显示全部楼层
对于单个字符来讲 C++风格是字符和数字是兼容的也就是 可以互相转换若定义了int型变量 将其赋予某个字符的值 编译的时候会将这个字符的ASC码赋给它 所以cout的时候会输出数字但定义为char类型的时候会是这个字符本身 所以cout的时候就会输出字符
回复

使用道具 举报

千问 | 2011-1-9 22:57:32 | 显示全部楼层
第一个程序中定义的 i 和 j 是“int”整数型变量,得到的是字符A和B的ASCⅡ码值65,66. 第二个程序中定义的c1和c2是“char”字符型变量,得到的是字符,而 a ,b的ASCⅡ码为97,98,楼主减一下就知道了
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行