天天看點

【每日一題11】數組名作為函數參數

 有以下程式

#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正确。

【程式運作】

【每日一題11】數組名作為函數參數

【運作過程】