-
上面說這麼多是無稽之談。 樓主請看:注意你的程式:printf(“%d,%d”,(a,b),(b,a);
告訴你,(a,b)是C中的括號運算,它的值是括號最右邊的值,與前面的值無關,例如(3,4,5,6,7,8)的值為8程式中的 printf 語句列印值 b 和 a,因此它是 4 和 3。
如果 printf(“%d,%d”,a,b); 然後值為 3 和 4。
我剛學會玩C語言,有人問我有沒有不明白的地方。
-
簡單地說。
也就是說,逗號表示式的值是最後乙個表示式的值!!
-
a=3,b=4,執行 “printf(”%d,%d“,(a,b),(b,a));
a, b) 和 (b, a) 這是乙個逗號表示式測試,逗號表示式的值是最後乙個逗號後面的數字值,例如,(a, b) 最後乙個逗號的值是 b,(a, b) 的值是 b 4 的值
-
逗號運算子" , "它被括在括號中,其操作規則與正常操作相同,但結果是最後乙個表示式的值,例如 a=(3,5,6,7) 結果是 a=7例如,a=(24,89,45); 結果 a=45;
看 a=(4,a=10,a+4); 結果是 a=14;
-
你這樣寫工作嗎,你想做什麼,你想得到什麼樣的結果。
-
你不設定A的正數和B的正數來減法或加法,你只給A和B乙個A和B乙個直,當然,只顯示A和B的結果! ''如果你新增。
a=3,b=4,c;
c=a+b;
printf(“%d,%d”,c);
這樣你就可以顯示乙個 3+4 的順子!
-
逗號運算子不知道???
逗號表示式的一般形式為:表示式 1、表示式 2、表示式 3 ......表示式 n
解決逗號表示式的過程是先計算表示式 1 的值,然後計算表示式 2 的值,......一直計算到表示式 n 的值。 最後,整個逗號表示式的值是表示式 n 的值。
請看幾個例子:
x=8*2, x*4 * 整個表示式的值為 64,x 的值為 16*
x=8*2, x*4), x*2 * 整個表示式的值為 128,x 的值為 16*
x=(z=5,5*2) *整個表示式是乙個賦值表示式,其值為 10,z 的值為 5*
x=z=5,5*2 * 整個表示式是乙個逗號表示式,它的值為 10,x 和 z 的值都是 5*
逗號表示式使用不多,通常僅在將初始值分配給迴圈變數時使用。 因此,並不是程式中所有的逗號都應該看作是逗號運算子,尤其是當呼叫函式時,引數之間用逗號分隔,所以逗號不是逗號運算子。
-
這是關於逗號表示式的問題。
a, b) 是
b, a) 是 b
通常,對於(表示式 1、表示式 2,......表示式 n) 的結果就是表示式 n 的結果。
所以你的輸出分別是 4 和 3
範圍。 你靜態字元 *chh;
static char *ch1;雖然兩個指標指向的位址沒有變化,但你有沒有想過它們指向的記憶體位址是否已經釋放,char chc[10]; 它是本地的,函式已經結束,生命週期已經結束,你正在嘗試使用 void times() 中的指標訪問它。 >>>More