c++中怎样输出一个字符的ASCⅡ码?
网上说用cout<<"%d"<<a;就可以,但我运行是这样,比如a是'a',结果是%da。怎么回事?还有如果想用16进制输出它的码值,该怎么编写?...
网上说用cout<<"%d"<<a;就可以,但我运行是这样,比如a是'a',结果是%da。怎么回事?
还有如果想用16进制输出它的码值,该怎么编写? 展开
还有如果想用16进制输出它的码值,该怎么编写? 展开
4个回答
展开全部
可以将字符转为整型(int)再输出即可输出ASCII码值。
在C++语言中,输出到终端一般使用cout的<<操作。
字符型变量,存储在char类型的变量中,或者直接是字符常量。
当cout<<字符变量或常量时,输出的是对应字符。
说明cout对输出的类型是有做判断,并区分类型进行输出的。ASCII码值属于整型,所以,可以把字符型转为整型进行输出。
如
char c = 'A';
cout<<(int)c;
这样就可以输出字符变量c的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;
要想输出是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;
}
using namespace std;
void main()
{
int a='a';
cout<<a<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询