单项选择题

有以下程序 #include #include void fun(int *p1, int *p2, int *s) { s = (int*)malloc(sizeof(int)); *s = *p1 + *p2; free(s); } main() { int a=1, b=40, *q = &a; fun(&a, &b, q); printf("%d\n", *q); } 程序运行后的结果是

A.42
B.0
C.1
D.41