為什么會輸出錯誤
#include <stdio.h>
int main()
{
? ? int a=100;
? ? printf("%d\n",a++);
? ? printf("%d\n",++a);
? ? printf("%d\n",--a);
? ? printf("%d\n",a--);
? ? printf("%d\n",a+1);
? ? printf("%d\n",a);
? ? return 0;
}
和樣本是一樣的啊,為什么會輸出錯誤呢?
還有如果a+1不改變a的值,那為什么要進行“printf("%d\n",a+1);”的運算呢?
2018-08-10
a++是指提取a的值后再加1,如果a的賦值原本是1,那么結(jié)果就是1,但是下一條代碼再用到a時,它的賦值從這個代碼開始就是a+1了;++a的話就是先加1再提取結(jié)果
2018-08-10
因為它沒讓你重現(xiàn)這個啊...它讓輸出X=0和X=2。這個printf("%d\n",a+1);只是為了說明這個會改變此時輸出的值但這個a的值不會參與循環(huán)和接下來的計算
2018-08-09
。。。你活到現(xiàn)在讀的書是白讀了嗎?需要我告訴你方程怎么解嗎?