有以下程序 #include <stdio.h> #include <stdlib.h> void fun( double *p1,double *p2,double *s) { s = (double *

admin2021-04-28  24

问题 有以下程序
     #include <stdio.h>
     #include <stdlib.h>
     void  fun( double  *p1,double  *p2,double  *s)
     {  s = (double *)calloc( 1,sizeof(double) );
        *s = *p1 + *( p2+1 );
     }
     main()
     {  double  a[2] = { 1.1, 2.2 }, b[2] = { 10.0, 20.0 }, *s=a;
        fun( a, b, s );
        printf( "%5.2f\n", *s);
     }
程序的输出结果是

选项 A、21.10
B、11.1
C、12.1
D、1.1

答案D

解析 本题考查把数组名作为函数参数,执行fun函数后,s的值并没有发生变化,仍然是指向a,所以输出结果为1.10,选项D正确。
转载请注明原文地址:https://kaotiyun.com/show/HUtp777K
0

最新回复(0)