|  |   | 
|  | 
| 
 |  Chapter 24Answers to Selected Exercises4. [was #2] (a) 
double try_math_fcn(double (*f)(double), double x, const char *msg)
{
  double result;
  errno = 0;
  result = (*f)(x);
  if (errno != 0) {
    perror(msg);
    exit(EXIT_FAILURE);
  }
  return result;
}
(b) #define TRY_MATH_FCN(f,x) try_math_fcn(f, x, "Error in call of " #f) 5. [was #4] 
int main(void)
{
  char code;
  for (;;) {
    setjmp(env);
    printf("Enter operation code: ");
    scanf(" %c", &code);
    while (getchar() != '\n')   /* skips to end of line */
      ;
    switch (code) {
      case 'i': insert();
                break;
      case 's': search();
                break;
      case 'u': update();
                break;
      case 'p': print();
                break;
      case 'q': return 0;
      default:  printf("Illegal code\n");
    }
    printf("\n");
  }
}
The  Copyright © 2008, 1996 W. W. Norton & Company, Inc. All rights reserved. |