C言語知識要約|07-空白
スペース、タブ、改行などを総称して空白文字(space character)と呼び、占有にのみ使用され、実際の内容はなく、具体的な文字も表示されません.
タブは水平タブと垂直タブに分けられ、ASCII符号化値はそれぞれ9と11である.垂直タブは現代のコンピュータではほとんど使用されず、キーボードに直接入力することができず、改行に取って代わられています. 水平タブは4つのスペースに相当し、ほとんどのエディタではTabキーを押すとデフォルトで水平タブが入力されます.パーソナライズされた設定を行うと、Tabキーを押すと4つまたは2つのスペースが入力される場合があります.
コンパイラの場合、空白文字が無視されるものもあれば、できないものもあります.次のputsの書き方を見てください.
実行結果:
出力結果を見ると,説明コードに誤りはなく,以上のputsの使い方が正しい.
コンパイル結果:
6~7行目のコードは間違っていて、文字列は1行で終わらなければならず、改行できません.この2行のコードを削除し、実行結果は次のとおりです.
プログラマーは空白文字を上手に利用しなければならない:インデント(タブ)と改行はコード構造をより明確にすることができ、スペースはコードをそんなに混雑させないようにすることができる.専門のプログラマーも専門のコードフォーマットを追求している.
タブは水平タブと垂直タブに分けられ、ASCII符号化値はそれぞれ9と11である.
コンパイラの場合、空白文字が無視されるものもあれば、できないものもあります.次のputsの書き方を見てください.
#include
int main()
{
puts("neution");
puts("wei");
puts
("neutionwei");
puts
(
"neutionwei"
)
;
puts ("neutionwei");
puts ( "neutionwei" ) ;
return 0;
}
実行結果:
neution
wei
neutionwei
neutionwei
neutionwei
neutionwei
出力結果を見ると,説明コードに誤りはなく,以上のputsの使い方が正しい.
puts
と()
の間、" "
と()
の間には任意の空白文字があり、それらはコンパイラに無視され、コンパイラはコードの一部とは考えられず、それらの存在はエディタに一定のフォーマットを提示するだけで、プログラマーに読みやすいようにします." "
で囲まれた文字列の空白文字は無視されず、コンソールにそのまま出力されることに注意してください.また、文字列の間を改行することはできません.そうしないと、コンパイルエラーが発生します.次のコードを見てください.#include
int main()
{
puts("neu tion wei");
puts("neution
wei");
return 0;
}
コンパイル結果:
puts.c: In function ‘main’:
puts.c:6:10: warning: missing terminating " character
puts("neution
^
puts.c:6:5: error: missing terminating " character
puts("neution
^
puts.c:7:8: warning: missing terminating " character
wei");
^
puts.c:7:5: error: missing terminating " character
wei");
^
puts.c:7:5: error: ‘wei’ undeclared (first use in this function)
puts.c:7:5: note: each undeclared identifier is reported only once for each function it appears in
puts.c:8:5: error: expected ‘)’ before ‘return’
return 0;
^
puts.c:9:1: error: expected ‘;’ before ‘}’ token
}
^
6~7行目のコードは間違っていて、文字列は1行で終わらなければならず、改行できません.この2行のコードを削除し、実行結果は次のとおりです.
neu tion wei
プログラマーは空白文字を上手に利用しなければならない:インデント(タブ)と改行はコード構造をより明確にすることができ、スペースはコードをそんなに混雑させないようにすることができる.専門のプログラマーも専門のコードフォーマットを追求している.