我寫了一個功能:傳遞數組功能沒有給予正確的答案
string par(int a[]){
int s=sizeof(a)/sizeof(*a);
cout<<s<<endl;
/*
..do something
*/
}
主要功能是寫爲:
nt main(){
int a[]={1,5,11,5};
cout<<sizeof(a)/sizeof(*a)<<endl;
cout<<par(a)<<endl;
}
輸出我得到的是:
而我相信它應該是相同的,因爲我通過相同的數組。請指出錯誤..謝謝..
當傳入函數時,數組衰減爲指針。這可能是你所看到的 – 2013-05-02 17:57:32
這不是C++嗎? – squiguy 2013-05-02 18:02:40
@squiguy:是的。主要區別在於,使用C++時,可以使用標準庫「vector <>」,它可以*提供您的大小。 – paulsm4 2013-05-02 18:54:23