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 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 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