そんなら今回も張り切ってみゆーかぃ。
前回は計算方法と計算結果とかばコンソールに(画面)に 出す方法ばゆっかせました。
今回は文字列についてゆっかしゅーどもとります。
「文字列」っていうとはそん名前どおり、文字の並んだ列ば言うとです。
早か話が一文字に対して複数文字(単語とか)ば文字列っていうとですね。
文字列以外によか表現ばしきらんけん、しよんなかですけど。
文字列は「"」で囲んで表示させんばつまらんとですけど
こん「"」は何ていうか知っとるですか?
「ダブルクォーテーション」って言うとです。
まぁ、"の読み方はどげんでんよかつばってがばってが、
前回「エスケープシーケンス」っていうとばゆっかせましたね? 改行とかになる特殊な文字んこつですたい。
で、そんエスケープシーケンスばってんがアタマに
\(¥か\どっちに見えるかは環境による)ば、つけるとですけど、
例えばこん\そのものば表示したかときはどげんするですか?
puts("\");って書くですか?
実際にかいてみゅーかいね?
#include <stdio.h>
int main(void) { puts("\"); return 0; } |
プログラム名は「ampro006.c」ってしてみゅーだ。
で、コンパイルばしてみてください。
・・・ぎゃんなってコンパイル通らんでしょ?
何でかって言えば\はそん次に来る文字ばエスケープするとです。
どぎゃん意味かって言えば、こっで例えるならば、文字列として囲んどる
「"」の囲み文字(引用符)としての機能ばエスケープ(逃が)して、
ただの文字として扱うごつするってこつです。
エスケープされた「"」は、ただの文字としての意味しか持たんごつなるけん
文字列ば囲むための「"」がそん後ろになかごつなって、コンパイラの
「こりゃおかしか!」っていうて、エラーば出すとです。
ただ、\の次に来る文字は何でんかんでんエスケープでくるかって言えば
そぎゃんじゃなくて、エスケープでくっとは決まっとるとです。
だけん、エスケープでけん文字ば\の次に書けばエラーになっとた。
\nは改行っていうたばってがこればエスケープシーケンスっていうたですね。
エスケープシーケンスは文字として表せん特殊な機能ば持っとるけん
そんエスケープシーケンスから取って「エスケープ」て言うとかは知らんばってが
色々とググッたら「エスケープする」とかっていう表現の出てくるけん
おそらくそぎゃん意味じゃろて思うとです。
そんならこん\ば出すにはどぎゃんすればよかて思うですか?
\の持つ機能ばエスケープすればよかけん
puts("\\");
で、よかはずですよね?
そんならぎゃんふうにコンパイルして実行してみてください。
#include <stdio.h>
int main(void) { puts("\\"); return 0; } |
\の表示されたですね。
\の表示されとる人は¥に読み替えてください。
もし「"」ば文字として出力したか場合は
puts("\"");
ってすればよかですね。
これはどぎゃん時も同じですけん、printf関数でもそぎゃんやって表現でくっとです。
ただし、printf系関数(sprintfとかfprintf他vなんちゃらprintf)は
%も特殊記号として扱わるるですね。
あって、%dで整数ば表示したもね。
printf系の関数で%ば出力したか場合は\%じゃなかですよ?
%%って%ば2個書けばよかとです。
printf("天草弁100%%\n");
こっが出力結果は「天草弁100%」ですね。
どぎゃんでしょうか?文字列の癖はなんとなくわかったですか?
こりゃC言語での表現ばってが、他んC言語系の言語でも大体
似たごたる感じじゃあるて思います。
前回がごちゃごちゃしすぎたけん、今回はこの辺でよかですかね。
まだ何ばすっか決めとらんばってんが、また次回に!