1. 程式人生 > 其它 >C語言中++和--之前置後置的說明

C語言中++和--之前置後置的說明

技術標籤:# 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;
}

結果: