コードを適切にフォーマットするために空白を追加または削除するプログラムを記述します。完了したときのコードの外観に関する規則:
- 行には、
{
およびの2つ以上を含めることはできません}
。 - A
{
は常に行の最後にある必要があります。 - A
}
は常に行の唯一のものでなければなりません(その前にある空白以外)。 - 各行の前の空白の量は、現在のネスト数の固定倍数である必要があります。(変更しない限り、好きなだけインデントを使用できます。)
- これらのルールのいずれかを満たすことに寄与しない空白を挿入または削除しないでください。
最初の行のネストカウントは0です。他の行のネストカウントは、前の行のネストカウントに、前の行にが含まれている場合は1を加算し{
、現在の行にが含まれている場合は1を減算し}
ます。
{
そして、}
内部の文字列リテラルやコメントは、上記のルールではカウントされません。文字列リテラルは、一重引用符または二重引用符で囲まれたテキストです。単一引用符または二重引用符の直前に奇数個のバックスラッシュが含まれていると、文字列リテラルの終わりとして解釈されません。コメントは、/*
および*/
で囲まれたテキスト、または行//
の終わりまで続くテキストです。複数行コメント開始マーカーでは、最初のマーカーのみがカウントされます。コメントは文字列リテラル内では解析されません。
例
main() {printf("Hello!"); // I don't care about the world...
}
becomes:
main() {
printf("Hello!"); // I don't care about the world...
}
int main(){
puts("a");
puts("b");
}
becomes:
int main(){
puts("a");
puts("b");
}
main()
{ printf("{"); /* }
} */
printf("}//}"); ///*
}
becomes:
main()
{
printf("{"); /* }
} */
printf("}//}"); ///*
}
int test[] = {1, 2, 3};
becomes:
int test[] = {
1, 2, 3
}
;
コメントは詳細な議論のためのものではありません。この会話はチャットに移動しました。
—
Dennis