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

  • 2019 年 10 月 31 日
  • 筆記

來源:公眾號【編程珠璣】

作者:守望先生

ID:shouwangxiansheng

構造函數

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

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關鍵字到底該怎麼用》。