C言語では,i+,++iのループ文における論理推論


最初は++iが先に自増して、演算して、i++が先に実行して、それから自増するのはどういうことなのか分からなかったが、今回はforループの中で答えを得て、みんなに貢献させた.
コードは次のとおりです.
 #include<stdio.h>
int main()
{
	int i = 0;
	printf("Please Input a chars:
"
); while (getchar() != '
'
)i++; printf("Total input chars are: %d
"
, i); int a=1,sum=0,j = i; printf("(j,a)
"
); while (j--) { printf("(%d,%d)
"
, j,a++);//j-- , , ,j 2 。 , a=1。 sum = sum + a;// ,a 1, a=2; printf("(sum,a)=(%d,%d)
"
, sum,a);// , a=2, sum=sum+(a++); 3 。 } return 0; }

実行結果は次のとおりです.
Please Input a chars:
123
Tatol input chars are: **3**
(j,a)
(2,1)// j       j--l,    2
(sum,a)=(2,2)//a       a++ ,  2
(1,2)
(sum,a)=(5,3)
(0,3)
(sum,a)=(9,4)
       . . .

まとめ:
自己増加または自己減少は、1つの文ブロックにおいて、i++が実行された後にiに関連する演算がある場合、後続のi値はすでに増加した値演算に割り当てられる.例えば:j-,a++はこのように