天天看点

【每日一题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】数组名作为函数参数

【运行过程】