有以下程序
#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正确。
【程序运行】
【运行过程】