番号 | 正解 | コメント |
---|---|---|
(ⅰ) | %d | %lf という誤答が多かった。 |
(ⅱ) | &n | |
(ⅲ) | %f | %lf は望ましくない。 |
(ⅳ) | n*6.25 | (double)n*6.25 など必要のないキャストが入った解答が多かった。 |
(0,0)␣(0,1)␣(0,2)␣↓ (1,1)␣(1,2)␣↓ (2,2)␣↓
#include <stdio.h> int main(void) { int i; for (i = 0; i < 10; i++) { putchar('*'); } if (i%2==0) { printf("%d ", i); } return 0; }
以下のようにブレースをいれてしまうと、プログラムの意味が変わってしまう。
/* 間違い */
#include <stdio.h>
int main(void) {
int i;
for (i = 0; i < 10; i++) {
putchar('*');
if (i%2==0) {
printf("%d ", i);
}
}
return 0;
}
このような勘違いを防ぐために、インデンテーションの約束事:
ブレース({ 〜 })の中は、外よりも 4 または 8 字分(首尾一貫した文字数)を字下げする。
if 文, if 〜 else 文 や for 文, while 文, do 〜 while 文などでは、 選択されたり、繰り返したりされる文が一つだけの場合も、 ブレース({〜})に囲む。
がある。
#include <stdio.h> int main(void) { int i; for (i = 1; i <= 60; i++) { printf("360 = %d * %d + %d\n", 360 / i, i, 360 % i); } return 0; }