2013-07-19 44 views
-1

爲什麼我的程序輸出爲4 4 5?我不明白這段代碼的作用。有人可以提供詳細的解釋嗎?爲什麼我的程序輸出以下內容?

#include<iostream> 
#include<stdio.h> 
#include<cstring> 
using namespace std; 

int main() 
{ 
int a=5; 
//a++; 
//a--; 
//a++; 
//--a; 
printf("%d %d %d\n",a,a,a--); 
return 0; 
} 
+6

在你的系統中,它首先評估最多的參數 –

+1

1 /你的程序不是C,它是C++。 2 /你的程序調用未定義的行爲。它沒有關係。 –

回答

2

因爲未定義printf()參數的評估順序。見here

在你的情況下,最後一個參數a--首先被評估,因此該值是5,另外兩個4

相關問題