民國107年 第2梯次 電腦軟體設計(C++)乙級 學科
第63題
以下C++程式宣告,那些為正確?
題目
以下C++程式宣告,那些為正確?
- (1) int a[]={1, 2};
- (2) char *a[3];
- (3) char s[10]="test";
- (4) in t n =5, a[n]
官方答案
(1) int a[]={1, 2};、(2) char *a[3];、(3) char s[10]="test";
解析
1. int a[]={1,2}; 合法,編譯器會依初始值推導陣列長度為 2。2. char *a[3]; 合法,宣告一個含 3 個 char* 指標的陣列。3. char s[10]="test"; 合法,字串 "test" 含結尾 '\0' 共 5 字元,小於陣列大小 10。4. int n=5, a[n]; 在標準 C++ 中,n 不是編譯期常數,可變長度陣列(VLA)屬 C99 特性,非標準 C++,故不合法。因此正確宣告為 1、2、3,選 [1,2,3]。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。