我似乎无法让我的程序显示我在''
中列出的值。我将它列为'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;
}
它显示字母表,但只显示小写的值。如何让它在''
?
答案 0 :(得分:1)
见Single quotes vs. double quotes in C or C++。当您尝试将'Aa'
放入char
(只能容纳一个字符)时,它会被截断并变为简单的'a'
。我建议启用所有编译器&# 39;警告(g {-Wall -Wextra
)以避免这种错误。