xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/gdb.base/average.c (revision a5a4af3bd380a7b58b758d9b311cef9f7c34aeb4)
1 /* This is a sample program for the HP WDB debugger. */
2 
3 #include <stdio.h>
4 #include <stdlib.h>
5 
6 extern int sum(int *, int, int);
7 
8 #define num   10
9 
10 static int my_list[num] = {3,4,2,0,2,1,8,3,6,7};
11 
print_average(int * list,int low,int high)12 void print_average(int *list, int low, int high)
13     {
14         int total = 0, num_elements = 0, average = 0;
15         total = sum(list, low, high);
16         num_elements = high - low;  /* note this is an off-by-one bug */
17 
18         average = total / num_elements;
19         printf("%10.d\n", average);
20     }
21 
main(void)22 int main(void)
23 {
24     char c;
25     int first = 0, last = 0;	/* stop-in-main */
26     last = num-1;
27 
28     /* Try two test cases. */
29     print_average (my_list, first, last);
30     print_average (my_list, first, last - 3); /* stop-at-call */
31 
32     exit(0);
33 }
34