以下代码有什么问题? 我想将1转换为A,将2转换为B,依此类推。 但是当我输入“1 2 3”
时,我得到的输出是“q r s”void main()
{
clrscr();
char arr[20];
gets(arr);
cout<<endl;
for(int j=0;arr[j]!='\0';j++)
{
if(arr[j]==' ') //neglect the space character
{}
else
cout<<(char)(arr[j]+64) <<" ";
}
getch();
}
//输出: q r s
答案 0 :(得分:0)
当您查看ascii表时,您会注意到这封信&#39; 1
的小数为49,而#39;字母为&#39; A
的小数为65. 差异为16 ,而不是64。
答案 1 :(得分:0)
简短的回答是,今天大多数编译器都使用ASCII标准,因此输入的数字与ASCII表中该数字的字符相关。