1*b725ae77Skettenis /* This is a sample program for the HP WDB debugger. */
2*b725ae77Skettenis
3*b725ae77Skettenis #include <stdio.h>
4*b725ae77Skettenis #include <stdlib.h>
5*b725ae77Skettenis
6*b725ae77Skettenis #ifdef PROTOTYPES
7*b725ae77Skettenis extern int sum(int *, int, int);
8*b725ae77Skettenis #else
9*b725ae77Skettenis extern int sum();
10*b725ae77Skettenis #endif
11*b725ae77Skettenis
12*b725ae77Skettenis #define num 10
13*b725ae77Skettenis
14*b725ae77Skettenis static int my_list[num] = {3,4,2,0,2,1,8,3,6,7};
15*b725ae77Skettenis
16*b725ae77Skettenis #ifdef PROTOTYPES
print_average(int * list,int low,int high)17*b725ae77Skettenis void print_average(int *list, int low, int high)
18*b725ae77Skettenis #else
19*b725ae77Skettenis void print_average(list, low, high)
20*b725ae77Skettenis int *list, low, high;
21*b725ae77Skettenis #endif
22*b725ae77Skettenis {
23*b725ae77Skettenis int total = 0, num_elements = 0, average = 0;
24*b725ae77Skettenis total = sum(list, low, high);
25*b725ae77Skettenis num_elements = high - low; /* note this is an off-by-one bug */
26*b725ae77Skettenis
27*b725ae77Skettenis average = total / num_elements;
28*b725ae77Skettenis printf("%10.d\n", average);
29*b725ae77Skettenis }
30*b725ae77Skettenis
31*b725ae77Skettenis #ifdef PROTOTYPES
main(void)32*b725ae77Skettenis int main(void)
33*b725ae77Skettenis #else
34*b725ae77Skettenis main ()
35*b725ae77Skettenis #endif
36*b725ae77Skettenis {
37*b725ae77Skettenis char c;
38*b725ae77Skettenis int first = 0, last = 0;
39*b725ae77Skettenis last = num-1;
40*b725ae77Skettenis
41*b725ae77Skettenis /* Try two test cases. */
42*b725ae77Skettenis print_average (my_list, first, last);
43*b725ae77Skettenis print_average (my_list, first, last - 3);
44*b725ae77Skettenis
45*b725ae77Skettenis exit(0);
46*b725ae77Skettenis }
47