有以下程序 #include <stdio.h> int sum(int* array, int len) { if (len == 1) return array[1]; else return a

admin2020-06-16  21

问题 有以下程序
#include   <stdio.h>
int sum(int*  array, int  len)
{
    if (len == 1)
        return array[1];
    else
        return array[1] + sum(array+1, len-1);
}
main( )
{
    int  array[5] = {0,9,1,2}, res;
    res = sum(array, 3);
    printf("%d\n", res);
}
程序运行后的输出结果是

选项 A、27
B、11
C、8
D、12

答案D

解析 main函数中先定义一个数组array,调用sum(array,3)函数,形参array指向数组首地址,形参len的值为3,在sum函数中, array[1]指向数组中元素9,sum函数调用三次,完成功能是将数组array[1]+ array[2]+ array[3]累加后返还给输出,累加后的值为12。因此,答案为D选项。
转载请注明原文地址:https://jikaoti.com/ti/URG0FFFM
0

最新回复(0)