幾道C/C++小題,看看你會不會?

 

構造函數

下面使用無參構造函數聲明變量的方式對嗎?爲什麼?應該如何修改?


 

Test test();

答案參考《認真理一理C++的構造函數》。

數組和指針

下面代碼的輸出結果是什麼?


 

//實際中千萬不要這麼寫
#include<stdio.h>
int main(void)
{

    int a[5] = {1,2,3,4,5};
    int *p = (int*)(&a+1);
    printf("%d,%d",*(a+1),*(p-1));
    return 0;
}

答案參考《C語言入坑指南-數組之謎》。

main

C語言main函數標準寫法是什麼?


 

A    main()
B    void main()
C    int main(void)
D    int main()
E    int main(int argc,char *argv[])
F    int main(int argc,char *argv[],char *envp[]

答案參考《C語言的main函數到底該怎麼寫》。

複雜聲明

下面的聲明是什麼含義


 

void(*signal(int,void(*fun)(int)))(int);

答案參考《高級指針話題-函數指針》和《有了它,再也不怕複雜聲明瞭》。

const關鍵字

下面const修飾的變量,分別表示什麼是隻讀的?


 

const char *a
int* const p
const int c

答案參考《const關鍵字到底該怎麼用》。

 

本文首發:公衆號【編程珠璣】

作者:守望先生

ID:shouwangxiansheng

關注公衆號【編程珠璣】,獲取更多Linux/C/C++/算法/計算機基礎/工具等原創技術文章。後臺免費獲取經典電子書和視頻資源

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