#include <stdio.h>
int inc1(int);
int inc2(int *);
void main(void)
{
int a=2;
printf("inc1(a)=%d, ", inc1(a));
printf("a=%d\n",a);
printf("inc2(a)=%d, ", inc2(&a) );
printf("a=%d\n",a);
}
int inc1(int i)
{
return ++i;
}
int inc2(int *i)
{
return ++(*i);
}
<結果>
inc1(a)=3, a=2
inc2(a)=3, a=3
<理由>
関数inc2の方は、借引数をポインタとして宣言していて結果を呼び出し側
に送っている。よって&aには関数inc2でa(=2)に+1された3が割りあれたれている。
一方、関数inc1の方は、先にprintf("a=%d\n",a)のaに2が入り次に関数inc1の処
理によってa(=2)に+1された3がinc1(a)に送られている。

結果が上のようになった理由が間違ってて再提出をくらいました。
理由を教えてください