有以下程式
#include <stdio.h>
#include <stdlib.h>
void fun(int *p1, int *p2, int *s)
{
s = (int *)malloc(sizeof(int));
*s = *p1 + *(p2++);
}
int main()
{
int a[2] = { 1, 2 }, b[2] = { 10, 20 }, *s = a;
fun(a, b, s);
printf("%d\n", *s);
return 0;
}
程式運作後的輸出結果是
A) 11
B) 10
C) 1
D) 2
做完再看答案~~
【答案】C
【分析】
本題考查把數組名作為函數參數,執行fun函數後,s的值并沒有發生變化,仍然是指向a,是以輸出結果為1,選項C正确。
【程式運作】
【運作過程】