民國110年 普通考試 電子工程 計算機概要
第23題
執行以下的C 程式,結果為下列何者?#include <stdio.h>int main() {int data[]= {10, 20, 30, 40};int…
題目
執行以下的C 程式,結果為下列何者?#include <stdio.h>int main() {int data[]= {10, 20, 30, 40};int *ptr = data;printf("%d:%d-", data[0], *ptr);ptr++;printf("%d:%d", data[0], *ptr);} A. 10:10-10:10 B. 10:10-10:11 C. 10:10-10:20 D. 10:10-20:20
官方答案
- 答案:C. 10:10-10:20
解析
data 為四個整數的陣列,ptr = data 使 ptr 指向 data[0]。第一次 printf 輸出 data[0] 與 *ptr,兩者皆為 10。ptr++ 把指標移到下一個 int,即 data[1],其值為 20;data[0] 本身的內容並未被修改,仍為 10。所以第二段輸出為 10:20。指標遞增是改變指向的位址,不是改變所指元素的值,也不會影響原陣列第一個元素。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。
官方資料
答案以考選部公告之測驗式試題標準答案 PDF 為準。