C語言中++和--之前置後置的說明
阿新 • • 發佈:2021-01-23
技術標籤:# C語言程式設計
++i理解:先將 i 自加1,再計算;
i++理解:i的值先不變,然後緊接著加 1 ;
--i理解:先將 i 自減1,再計算;
i--理解:i的值先不變,然後緊接著減 1 ;
例:
#include <stdio.h> int main() { int i=3; printf("%d\n",++i);//S1:i=i+1;(此時i=4) S2:printf("%d\n",i);(此時i=4) printf("%d\n",++i);//S1:i=i+1;(此時i=5) S2:printf("%d\n",i);(此時i=5) return 0; }
結果:
例:
#include <stdio.h>
int main()
{
int i=3;
printf("%d\n",i++);//S1:printf("%d\n",i);(此時i=3) S2:i=i+1;(此時i=4)
printf("%d\n",i++);//S1:printf("%d\n",i);(此時i=4) S2:i=i+1;(此時i=5)
return 0;
}
結果:
例:
#include <stdio.h> int main() { int i=3; printf("%d\n",--i);//本條指令相當於2條指令,S1:執行i = i-1;(此時i=2)S2:printf("%d\n",i); printf("%d\n",--i);//S1:執行i = i-1;(此時i=1)S2:printf("%d\n",i); return 0; }
結果:
例:
#include <stdio.h>
int main()
{
int i=3;
printf("%d\n",i--);//本條指令相當於2條指令,S1:printf("%d\n",i);(此時i=3) S2:執行i = i-1;(此時i=2)
printf("%d\n",i--);//S1:printf("%d\n",i);(此時i=2) S2:執行i = i-1;(此時i=1)
return 0;
}
結果: