文字表示のいろいろ

まずは復習です。

#include <stdio.h>

int main(){
	printf("ゆっくりしていってね!!!");
	return 0;
}

このプログラムでは、printfを使って文字を表示していました。
では次の文を表示してみましょう。

お会計は30%引きで\120円です。
よろしいですか?

ということで率直に、

#include <stdio.h>

int main(){
	printf("お会計は30%引きで\120円です。
よろしいですか?");
	return 0;
}


と書いてみます。
実行結果:

コンパイルエラー

エラーが出ましたね。エラーを見てみましょう。

t.c(4) : error C2001: 定数が 2 行目に続いています。

前回、中途半端なところで改行できないと書きました。それが今回のエラーの原因です。
なお、(4)って言うのはエラーの行数を示しています。そうすると、5行目にもエラーが出ているように見えますが、
実は4行目で文法ミスしているのが引き金でたくさんエラーが出ているだけです。ここはいったん改行を消してみましょう。
(5行目だけ見てみると全角文字がプログラムに直接書いてあるように見えますね^^;)

#include <stdio.h>

int main(){
	printf("お会計は30%引きで\120円です。よろしいですか?");
	return 0;
}


すると、おそらくコンパイルに成功すると思います。
しかし、いざ実行すると…

コンパイルエラー

%が消えてますね。さらに\120がなぜかPに置き換わってます。
実は""の中に書く文字には特殊な働きをするものがあります。
主に%と\があります。特に、\から始まるものをエスケープシーケンス
と呼びます。主な命令は下の表にて…

表記 意味
\n 改行する
\\ \を表示する
\" "を表示する


エスケープはこれ以外にもたくさんありますが、正直言って使いません^^;

これを見てみると、改行と\の表示は何とかなりそうですね。
次は%の表示です。これも特殊な文字として使われているのでそのまま表示はできません。
%を表示するには%%と書きます。

変更後のソース:

#include <stdio.h>

int main(){
	printf("お会計は30%%引きで\\120円です。\nよろしいですか?");
	return 0;
}


実行結果:

表示

これで何とかうまくいきました。
この書き方はprintf以外でも同じなので覚えておきましょう。
次は、printfの使い方を見ていきましょう。

前のページ    次のページ
inserted by FC2 system