2017-02-07 3 views
-7

''に記載されている両方の値を表示するプログラムが表示されないようです。 'Aa''Bb'というようにリストされていますが、コードを実行すると、2番目の文字(小文字)のみが表示されます。 intのコンバージョン、ポインタ、その他のものから変更しようとしましたが、この部分を把握することはできません。どんな助けでも大歓迎です!1文字ではなく2文字を表示する方法は?

#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

''aa'は' char'ではありません。あなたは 'char []'でやろうとしていることをすることはできません。文字列を使用します。 – user2357112

+2

[CまたはC++での一重引用符と二重引用符の比較](http://stackoverflow.com/questions/3683602/single-quotes-vs-double-quotes-in-c-or-c)を参照してください。 '' Aa ''を '' char ''(一文字しか保持できない)に合わせようとすると、切り詰められて単純な '' a ''に変わります。それの期待された効果は何でしたか?また、すべてのコンパイラの警告を有効にすることをお勧めします( '-Wall -Wextra' gcc) – yeputons

+0

ありがとうございました、それは私が思ったものですが、配列の文字列を見つけることができました。 –

答えて

1

Single quotes vs. double quotes in C or C++を参照してください。 'Aa'charに入れようとすると、切り詰められ、単純な'a'となります。コンパイラの警告(gccの場合は-Wall -Wextra)を有効にすることをお勧めします。

関連する問題