c++中怎样输出一个字符的ASCⅡ码?

来源:百度知道 编辑:UC知道 时间:2024/05/09 11:00:24
网上说用cout<<"%d"<<a;就可以,但我运行是这样,比如a是'a',结果是%da。怎么回事?
还有如果想用16进制输出它的码值,该怎么编写?

可以将字符转为整型(int)再输出即可输出ASCII码值。

在C++语言中,输出到终端一般使用cout的<<操作。

字符型变量,存储在char类型的变量中,或者直接是字符常量。
当cout<<字符变量或常量时,输出的是对应字符。
说明cout对输出的类型是有做判断,并区分类型进行输出的。ASCII码值属于整型,所以,可以把字符型转为整型进行输出。

char c = 'A';
cout<<(int)c;
这样就可以输出字符变量c的ASCII码值了。

cout<<"%d"<<a肯定不行了,这样cout<<(int)a<<endl;在输出时做一下强制类型转换,(int)a不会对a的类型影响,只是产生一个临时变量
要想输出是16进制的加个hex就行了,比如
cout<<hex<<(int)a<<endl;

printf("%d",a);//输出A的ASCII码,以十进制表示

#include <iostream>
using namespace std;
void main()
{
int a='a';
cout<<a<<endl;
}