這是什么邏輯
為什么
#include <stdio.h>
int main()
{
??? int i=0;
??? printf("%d,%d",i++,++i);
??? return 0;
}
輸出是1,2
而
#include <stdio.h>
int main()
{
??? int i=0;
??? printf("%d",i++);
??? return 0;
}
輸出是0?
為什么
#include <stdio.h>
int main()
{
??? int i=0;
??? printf("%d,%d",i++,++i);
??? return 0;
}
輸出是1,2
而
#include <stdio.h>
int main()
{
??? int i=0;
??? printf("%d",i++);
??? return 0;
}
輸出是0?
2018-10-21
舉報
2018-10-27
i++是先取值后自增,++i是先自增后取值
printf函數(shù)的執(zhí)行順序是由右到左的,如:函數(shù)printf("%d%d\n",a,b);函數(shù)的實際輸出順序是先計算出b,然后在計算a,接著輸出a,最后在輸出b;