自加:
關於i++與及++i是兩個式子:
++i是i自加一,然後返回現在的i,即,如果i = 1;那麼a = ++i就是a = 2;
i++是i自加一,然後返回原來的i,即,如果i = 1;那麼a = i++就是a = 1;
以上兩個執行了之後,i都等於2;
當然在有些的書中出現過 i+++++i;他解析的是(i++)+(++i);然而應該是那種編譯器厲害吧,vc++6.0根本通不過編譯((i++)+(++i)可以,i+++++i不行);
然後是((i++)+(i++)+(i++))這個式子對i進行了多次的改變,並不建議乙個式子對乙個變數的值進行多次修改,這樣雖然編譯能過,但對於不同的編譯器,值是不同的,這樣的**,我認為,是錯的!(不解釋)
然後關於自加的應用,指標變數中;
int *p = &a[0];
p++;則是將p指標的指向向後移動乙個位置,此時p指向a[1];
同理自減也差不多;
逗號運算子:
逗號運算子是乙個分隔符,就是將各個數或則式子分開,比如 a = (1,2);執行時先執行括號裡面的a = 2;然後如果是a = 1,2;那麼a就是等於1,因為程式執行是從做往右執行的;然後關於逗號還有一句就是這種情況,int a = 1,2;可能一下子就會先入為主說a = 1;其實這個式子編譯都通不過,因為這是在申明變數,逗號間隔開只是在申明不同的變數,然而2是常量,不能被int任命為整型變數;當然int a = (1,2);就能夠通過編譯,因為括號的優先順序比逗號大,結果a = 2;
然後,就沒有了,請踩,謝謝。
Java自加自減運算子
1.自加運算子 1 單目運算子,只能操作乙個運算元 2 只能操作單個數值型的變數,不能操作常量或者表示式 如果把 放在運算元左邊,先把運算元加1,再把運算元放入表示式中運算 如果把 放在右邊,則先把運算元放入表示式中運算,然後再把運算元加1 eg1 int a 5 int b a 6 system....
逗號運算子
在c語言中,多個表示式可以用逗號分開,其中用逗號分開的表示式的值分別結算,但整個表示式的值是最後乙個表示式的值。假設b 2,c 7,d 5,a1 b,c d 3 a2 b,c d 3 對於第一行 有三個表示式,用逗號分開,所以最終的值應該是最後乙個表示式的值,也就是d 3,為8,所以a1 8。對於第...
逗號運算子
c 語言中,逗號 也可以是運算子,稱為逗號運算子 comma operator 逗號運算子可以把兩個以上 包含兩個 的表示式連線成乙個表示式,稱為逗號表示式。其一般形式為 子表示式1,子表示式2,子表示式n 例如 a b,c b,c 逗號運算子的優先順序是所有運算子中級別最低的,通常配合 for 迴...