2014-07-16 45 views
0

其實在筆試我被問這些問題中的一個,我不能夠回答,然後後,我試圖在我的VC++編譯器,可以對這些問題的任何機構幫助自動veriable和功能的Intitialiazation調用

1) 
int main()// case ::1 
{ 
    int variable=10,20;// here in assigning 20 compiler was giving error 
} 

int main() // case ::2 
{ 
    int variable ; 
    variable=10,20; 
    printf("%d \n",variable);// without any error it prints value 10 

} 

2)

int main() 
{ 
    function(12,(13,(14,15))); 


} 

void function(int varible1,int variable2) 
{ 

    printf("%d %d \n",variable1, variable2);// prints 12 and 15 

} 

如何來??? 所以任何一個電話我都可以在這些背後的內部流程... 謝謝!

回答

0

包含逗號的表達式的結果是最後一個子表達式的值。所有的子表達式都會被執行。

int x; 
cout << (x = 30, "Hello!"); // Outputs "Hello!" 
cout << x; // Outputs 30 

在表達式

variable=10,20; 

variable=10; 

20; 

得到執行(第一分配10到變量和計算結果爲10,後者則只是評估爲20)

int main() 
{ 
    function(12,(13,(14,15))); 
} 

該函數被調用以參數12和(13,(14,15)),其結果爲12和(14,15),這反過來,計算結果爲12和15。

你給第一個例子是不正確的使用快捷鍵來定義兩個整數:

int x = 10, y; // Defines two integers, x and y 

因爲,在你的例子,20是不是一個變量編譯器會抱怨一個有效的名稱。