直角三角形を表示するプログラム
Posted: 2010年12月18日(土) 15:39
↓のプログラムについて質問です
#include <stdio.h>
void put_stars(int no)
{
while (no-- > 0)
putchar('*');
}
int main(void)
{
int i,ln;
printf("何段ですか?:");
scanf("%d",&ln);
for(i=1; i<=ln; i++)
{
put_stars(i);
putchar('\n');
}
return 0;
}
これは任意の直角三角形を表示するプログラムです。
何段ですか?:5 と入力すると、
*
**
***
****
*****
しかし、これはfor文でi=1~5を用意してi=1から順にwhile文で処理していますよね。
i=1のとき、i-- >0は条件を満たさないのに、ここで処理が終了せず、ちゃんと5段まで表示できるのはなぜですか?
初歩的なことかもしれませんが解説していただけたらと思います。
#include <stdio.h>
void put_stars(int no)
{
while (no-- > 0)
putchar('*');
}
int main(void)
{
int i,ln;
printf("何段ですか?:");
scanf("%d",&ln);
for(i=1; i<=ln; i++)
{
put_stars(i);
putchar('\n');
}
return 0;
}
これは任意の直角三角形を表示するプログラムです。
何段ですか?:5 と入力すると、
*
**
***
****
*****
しかし、これはfor文でi=1~5を用意してi=1から順にwhile文で処理していますよね。
i=1のとき、i-- >0は条件を満たさないのに、ここで処理が終了せず、ちゃんと5段まで表示できるのはなぜですか?
初歩的なことかもしれませんが解説していただけたらと思います。