如何显示两个字符而不是一个?

时间:2017-02-07 01:41:27

标签: c++ c for-loop

我似乎无法让我的程序显示我在''中列出的值。我将它列为'Aa''Bb'等等,但是当我运行代码时,它只显示第二个字母(小写字母)。我尝试从int转换,指针和其他内容进行更改,但无法弄清楚这一部分。非常感谢任何帮助!

这是我的代码:

#include "stdafx.h"
#include <iostream>
#include <cctype>
#include <string>

using std::cin;
using std::cout;
using std::endl;

int main()
{
    char letters[] = { 'Aa', 'Bb', 'Cc', 'Dd', 'Ee', 'Ff', 'Gg', 'Hh', 
        'Ii', 'Jj', 'Kk', 'Ll', 'Mm', 'Nn', 'Oo', 'Pp', 'Qq', 'Rr', 'Ss', 
        'Tt', 'Uu', 'Vv', 'Ww', 'Xx', 'Yy', 'Zz', '\0'};

    for (char * cp = letters; *cp; ++cp)
    {
        if (*cp == 0) break;
        printf("%c", *cp);
    }
    cout << endl;
}

它显示字母表,但只显示小写的值。如何让它在''

中显示大写和小写值

1 个答案:

答案 0 :(得分:1)

Single quotes vs. double quotes in C or C++。当您尝试将'Aa'放入char(只能容纳一个字符)时,它会被截断并变为简单的'a'。我建议启用所有编译器&# 39;警告(g {-Wall -Wextra)以避免这种错误。