數組名作爲函數的參數傳遞給函數

在32位機器中,如下代碼:

void example(char acWelcome[]){
    printf("%d",sizeof(acWelcome));
    return;
}
void main(){
    char acWelcome[]="Welcome to Huawei Test";
    example(acWelcome);
    return;
}

的輸出是? 正確答案: B
A.0
B.4
C.23
D.24

這題的正確答案應該是32位系統是4 64位系統是8,數組作爲函數的參數是會退化爲函數指針的,想想看,數組作爲函數參數的時候經常是需要傳遞數組大小的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章