C言語課題15 part2

記事
IT・テクノロジー
課題
数値を入力し、その数値から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);
という文になります。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す