简单计算(子函数运用)

我想问一下大家,我算的是3+5+7=15啊,为什么答案是18呀

img

#include <stdio.h>

int f(int b[], int m, int n)

{
    int i, s = 0;

    for (i = m; i <=n; i = i + 2)

        s = s + b[i];

    return  s;
}

int main()

{
    int x, a[] = { 1,2,3,4,5,6,7,8,9 };

    x = f(a, 3, 7);

    printf("%d\n", x);
}

答案可不就是18嘛,你计算的是数组第3,5,7位,而数组是从0开始的,012345678,3对应的数字是4,5对应的数字是6,7对应的数字是8.4+6+8可不就是18。你要想得15,应该是(2,4),而不是(3,7)。