我的输出结尾处有奇怪的括号/括号符​​号。 (我的节目正在打印下一个字母表)。

时间:2017-10-04 07:23:02

标签: c++

#include <iostream>

using namespace std;

int main()
{
char input, letter1,letter2;

cout << "Enter a letter: ";
cin >> input;

if ( (input >= 'A' && input >= 'Z') || (input <= 'a' && input <= 'z') )
{
    if ( (input >= 'A' && input >= 'X') || (input <= 'a' && input <= 'x') )
    {
        letter1 = input + 1;
        letter2 = input + 2;
        cout << "Your letter trio today is " << input << letter1 << letter2<<".\n";  
    }

    else if ( input == 'Y' || input == 'y' )
    {
        letter1 = input + 1;
        cout << "Your letter trio today is " << input << letter1 <<".\n";    
    }
    else
    {
        cout << "Your letter trio today is " << input <<".\n";
    }
}

}

如果输入y,我的输出变为yz {。如果我输入Y,我的输出变为YZ [。如果我输入Z,我的输出变为Z [。有任何想法吗?谢谢你们

1 个答案:

答案 0 :(得分:0)

欢迎使用ASCII字符表示! C ++标准只要求数字表示是连续的,但最常见的实现使用ASCII。 Y的ASCII码是0x59。 0x59 + 1是Z的ASCII码的0x5A。只是猜猜ASCII码0x5B的字符是什么?是的,它是 [ ,所以你的输出是正常的......

同样,小写y的ascii代码是0x79,而{的ascii代码是0x7B