はポストインクリメントなので、次のプログラムのように使うとb++
のインクリメントはどうなるでしょうか?b
return b++
#include<stdio.h>
int foo(int);
int main()
{
int a=8;
printf("%d",foo(a));
}
int foo(int a)
{
static int b=a*a;
return b++;
}
編集
#include<stdio.h>
int foo();
int main()
{
foo();
foo();
}
int foo()
{
static int b=1;
printf("%d\n",b);
return b++;
}
結果
1
2
私の編集で見たように、なぜb
インクリメントされるのですかreturn
?その関数をすぐに終了するべきではないのですか?b
制御が に戻った後でもインクリメントされるのはなぜmain()
ですか? 関数内のすべてのアクティビティは、リターン後に終了するはずではありませんか?