おさらい printf関数を使ってダブルクォーテーション"を表示するには¥" 円マーク¥を表示するには¥¥を用います
おさらい
printf関数を使って
ダブルクォーテーション"を表示するには
💖¥" 💖
円マーク¥を表示するには
💖¥¥💖
を用います
ソーラー「ところで
ダブルクォーテーション"を含んだ文字列を表示したい場合は
どうしたらいいのかな
なんだかうまくいかないんだけど・・・
コマンドプロンプト画面に
ダブルクォーテーション"を表示します
という文章
を表示したいんだけどみんなどう思う?」
マックス「んん
なんだ
そんなことか(*´▽`*)
printf("ダブルクォーテーション"を表示します");
を実行したらいいんじゃないか?」
そのプログラムはこちらです
👇
#include <stdio.h>
int main(void)
{
printf("ダブルクォーテーション"を表示します");
return 0;
}
プログラムの実行結果(Visual Studio2019の場合)
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー (アクティブ) E0018 ')' が必要です Project2 C:\Users\solar\source\repos\Project2\Project2\program1.cpp 6
エラー (アクティブ) E0008 終わり引用符がありません Project2 C:\Users\solar\source\repos\Project2\Project2\program1.cpp 6
エラー C2001 定数が 2 行目に続いています。 Project2 C:\Users\solar\source\repos\Project2\Project2\program1.cpp 5
エラー C3688 リテラル サフィックス 'を表示します' が無効です。リテラル演算子またはリテラル演算子テンプレート 'operator ""を表示します' が見つかりません Project2 C:\Users\solar\source\repos\Project2\Project2\program1.cpp 6
エラー C2143 構文エラー: ')' が 'return' の前にありません。 Project2 C:\Users\solar\source\repos\Project2\Project2\program1.cpp 6
エラー C2143 構文エラー: ';' が 'return' の前にありません。 Project2 C:\Users\solar\source\repos\Project2\Project2\program1.cpp 6
マックス「なんで実行されんのだ?」
ソーラー「
エラー C3688 リテラル サフィックス 'を表示します' が無効です。
が表示されているところをみると
どうやら
コンパイラは
printf("ダブルクォーテーション"を表示します");
の
"ダブルクォーテーション"
までを
ひとかたまりの文字列データと認識しているみたいだね
つまり
ひとかたまりの文字列データ
"ダブルクォーテーション"
に
を表示します
が余分にくっついていると判断しているみたいだね
エラー C3688 リテラル サフィックス 'を表示します' が無効です。
のリテラルとは文字列
サフィックスとは接尾辞のことで
接尾辞とは
ある文字や文章の語尾につけられる
文字や記号のことなんだよ
接尾辞だけでは用いられず、他の語の語尾にくっついて
その語とともにある意味をあらわすことになるんだよ
例えば
英語では
applesのs
(appleにsがつくことによって複数のappleを表すことになります)
や
日本語では
彼ら
の
ら
(彼に ら がつくことによって複数の人物を表すことになります)
や
〇〇さまの
さま
流れを何にたとうべき
の
べき
などが
接尾辞なんだね
コンピュータの世界では
ファイルの拡張子
なんかが
接尾辞だね
Sample.c
の
.c
なんかが接尾辞だね
(ファイルの拡張子とはそのファイルが何のファイルを示すためにつけられます
Sample.cならこのファイルはc言語のファイルを表します)
エラー C3688 リテラル サフィックス 'を表示します' が無効です。
をみると
コンパイラは
を表示します
を
接尾辞ととらえているんだね
そして
を表示します
のような
サフィックス(接尾辞)
は
無効だと表示しているんだね
このままでは
ダブルクォーテーション"を表示します
をコマンドプロンプト画面に表示することはできないね」
アレサ「はい😊
そこで
printf関数の第1引数の" "内で
(ダブルクォーテーション)"を文字列データの文字の一部として用いたい場合は
"に\を先頭にくっつけた
\"
を用いることになります
ですので
今のプログラム
👇
#include <stdio.h>
int main(void)
{
printf("ダブルクォーテーション"を表示します");
return 0;
}
を
次のようにかきかえれば
コマンドプロンプト画面に
ダブルクォーテーション"を表示します
が表示されることになります」
#include <stdio.h>
int main(void)
{
printf("ダブルクォーテーション\"を表示します");
return 0;
}
プログラムの実行結果
ダブルクォーテーション"を表示します//👈🌞ちゃんと表示されていますね
C:\Users\solar\source\repos\Project2\Debug\Project2.exe (プロセス 388636) は、コード 0 で終了しました。
このウィンドウを閉じるには、任意のキーを押してください...
ソーラー「あっ
ちゃんと
ダブルクォーテーション"を表示します
が表示されたね」
ソーラー「ところで
円マーク\を含んだ文字列を表示したい場合は
どうしたらいいのかな
これもうまくいかないんだけど・・・
コマンドプロンプト画面に
円マーク\を表示します
を表示したいんだけどみんなどう思う?」
マックス「簡単なことだな(*^▽^*)
printf("円マーク\を表示します");
を実行したらいいんじゃないか?」
そのプログラムはこちらです
👇
#include <stdio.h>
int main(void)
{
printf("円マーク\を表示します");
return 0;
}
プログラムの実行結果(Visual Studio2019の場合)
円マークu\示します
C:\Users\solar\source\repos\Project2\Debug\Project2.exe (プロセス 399196) は、コード 0 で終了しました。
このウィンドウを閉じるには、任意のキーを押してください...
エディタ画面の下側には
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー (アクティブ) E0870 マルチバイト文字のシーケンスが無効です Project2 C:\Users\solar\source\repos\Project2\Project2\program1.cpp 5
警告 C4129 '': Project2 C:\Users\solar\source\repos\Project2\Project2\program1.cpp 5
と表示されています
マックス「なんでえ~~~
円マークu\示します
が表示されるんだ?」
solarplexuss「よくみると表示の表の字も抜けてる」
ソーラー「あっ ほんとだ!
面白いね
どうなっているんだろう?」
アレサ「
printf関数の第1引数の" "内で
文字列データの1部の文字として円マーク\を用いたい場合は
円マーク\の左隣の円マーク\をくっつけた
\\
を用いることになります」
ソーラー「ははっ
\\
円マーク2つならべるんだね」
アレサ「はい
ですので
今のプログラム
👇
#include <stdio.h>
int main(void)
{
printf("円マーク\を表示します");
return 0;
}
を
次のようにかきかえれば
コマンドプロンプト画面に
円マーク\を表示します
が表示されることになります」
#include <stdio.h>
int main(void)
{
printf("円マーク\\を表示します");
return 0;
}
プログラムの実行結果
円マーク\を表示します
C:\Users\solar\source\repos\Project2\Debug\Project2.exe (プロセス 398292) は、コード 0 で終了しました。
このウィンドウを閉じるには、任意のキーを押してください...
ソーラー「あっ
ちゃんと
円マーク\を表示します
が表示されたね」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます