コメントの入れ子(ネスティング)はできません。 次のような例はエラーになります。
/* ** プログラム: hello.c -- "Hello!" を標準出力に出力する ** 目的: プログラムの例 ** 作者: 山田太郎 ** 作成日: 1994年10月 3日 ** 修正日: 1994年10月17日 */ int main(void) { /* 挨拶をする */ printf("Hello!\n"); return 0; }
プログラムはエッセイのように読むことができるものでなければなりません。 適切なコメントのないプログラムには 「トラブルの原因が潜在している」というエラーがあるとみなされます。
/* ……………… /* ……………… */
…………………… */
この部分が
ひとつのコメントになるこのに部分には
/* がないことになる
インデントはブロック({ と } にはさまれた部分)単位で、 入れ子になっている部分を深く(右に)します。 すなわち、{ に出会う度に、その次の行は1段右から書き始め、 } に出会う度に、その次の行は1段左から書き始めます。
カーソルのある行にインデントを付ける Tab または C-i
こういうスタイルで書く人もいます。
#include <stdio.h> int main(void) { char buf[1024]; for (;;) { printf("Input: "); if (fgets(buf, sizeof(buf), stdin) == NULL) break; printf("Output: %s", buf); } return 0; }
インデントを付けないと、 非常に読みにくいプログラムになります。
#include <stdio.h> int main(void) { char buf[1024]; for (;;) { printf("Input: "); if (fgets(buf, sizeof(buf), stdin) == NULL) break; printf("Output: %s", buf); } return 0; }
#include <stdio.h> int main(void) { char buf[1024]; for (;;) { printf("Input: "); if (fgets(buf, sizeof(buf), stdin) == NULL) break; printf("Output: %s", buf); } return 0; }