2016-04-10 7 views

答えて

-1

それはあなたのために同じ出力できます - - 印刷後、元の値とそれは(または11 ++ a)は9になった多くの言語のよう

+0

のように見え++と++の違いは何ですか? –

+0

あなたはそれをもっと説明できますか? –

+0

@VladimirTsykunov ++ aはaの値をインクリメントし、インクリメントされた値を返します。 a ++はaの値をインクリメントしますが、元の値を返します。 – Hoffman

0

Cは熱心evalutionを使用する(https://en.wikipedia.org/wiki/Eager_evaluation

これは、printfの引数がの前に評価され、の前にprintf関数が呼び出されたことを意味します。コンパイラの

、あなたのコードが

#include<stdio.h> 
void main() 
{ 
    int a=10; 
    a; 
    --a; 
    ++a; 
    printf("%d %d %d\n",a,a,a); // output 10 10 10 
} 
+1

が正しくありません。評価順序は不明であり、プログラムには未定義の動作があります。それは何にも相当しません。 –

関連する問題