課題
数値を入力し、その数値から0までのカウントダウンを順番に表示せよ。
回答
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
#include <stdio.h>
int main(void)
{
int val;
printf("数字を入力して下さい\r\n> ");
scanf("%d", &val);
val++;
while (val) {
printf("%d\r\n", --val);
}
}
解説
少し違う感じでも買いてみました。
ポイントは、--val ですかね。
前回のものは val--
でした。
違いは、--val は先にデクリメントして
val-- は後からデクリメントする。ということです。
どういうことかというと
printf("%d\r\n", --val);
というのは、分解すると
printf("%d\r\n", --val);
val -= 1;
という文になります。
これを考慮に入れて一度"val++;"しました。
ちなみに
printf("%d\r\n", val--);
は
val -= 1;
printf("%d\r\n", val);
という文になります。