在這裏,我試圖在本地變量X被分配給一個靜態變量我並檢查是否其分配值與否一個程序。局部變量;編譯錯誤在「C」,但成功的在C++
我做了程序'C':很顯然它會給編譯時間錯誤一個(初始化元素不是常量)。
然後我在C++實施同一程序:這一次我沒有得到編譯時錯誤,但輸出爲「平等」(是不是應該給一個編譯時錯誤如前)。
請解釋一下。
int main() //C code
{
int x=10;
static int i=x;
if(i==x)
printf("Equal");
return 1;
}
int main() //C++ code
{
int x=10;
static int i=x;
if(i==x)
cout<<"equal";
return 0;
}
因爲C和C++是不同的語言。 –