char b;のようにchar型の変数宣言によって作製された変数bには半角英数字1文字分の文字データを格納することができます シングルクォーテーション内には2文字以上の半角英数字を記述できません

ソーラー「次のプログラムはどうかな



この↓プログラムを実行すると・・・


#include <iostream>


using namespace std;


int main() {


char b;

b='apple';//👈ここに注目


cout <<b<<"\n";


return 0;

}


ビルドエラーが起こり


プログラムが実行できません。


エラーは以下のように表示されます



エラー (アクティブ) E0026 文字定数の文字数が多すぎます

エラー C2015 定数の文字数が多すぎます。


ソーラー「やはり


2つのシングルクォーテーション'  '内には


1つの半角英数字しか格納できないので


b='apple';


のように


2つのシングルクォーテーション'  '内に


半角英数字2文字以上を書き込んでしまうと


プログラムの実行ができず


ビルドエラーが表示されることになります


char b;

b='a';


ならよいというわけです


そのことを示すプログラムはこちらです

👇

#include <iostream>


using namespace std;


int main() {


char b;

b='a';//👈ここに注目


cout <<b<<"\n";


return 0;

}


プログラムの実行結果


a




ここで


char b;

b='1';


と記述したとします。


すると


'1'は文字データとなります


そして


char b;

b='1';


用いられた


次のプログラムを実行すると


#include <iostream>


using namespace std;


int main() {


char b;

b='1';


cout <<b<<"\n";


return 0;

}


ビルド実行結果


1


ソーラー「ビルド実行結果


1


が表示されますが


char b;

b='12';


と記述してしまうと


2つのシングルクォーテーション'  '内には


半角英数字1文字しか格納できないので


プログラムを実行すると


#include <iostream>


using namespace std;


int main() {


char b;

b='12';


cout <<b<<"\n";


return 0;

}


コンパイル結果


2


ソーラー「


このように


12ではなく


2と


おかしなコンパイル結果がでてきます。


b='12';


では


数値1

数値2

半角英数字2文字が


2つのシングルクォーテーション''内に


記述されていますが


このような記述はできないのですね」


マックス「なるほど


b='12';


では

1

2


2つのシングルクォーテーション''内に


かきこまれていると


コンパイラは認識しているというわけか


数値12と認識しているわけではないんだな」


  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る