Tilbage til slide -- Tastaturgenvej: 'u'  forrige -- Tastaturgenvej: 'p'                chars/int-read-1.c - En mere brugbar udgave med mulighed for fortegn og bedre linieafslutning.Lektion 10 - slide 9 : 51
Program 3

#include <stdio.h>
#include <stdlib.h>

int read_int();

int main(void) {
  int i, n = 0;

  for (i = 1; i <= 5; i++){
    printf("Enter an integer: ");
    n = read_int();
    printf("Decimal value: %d\n", n);
  }

  return 0;
}

int read_int(){
  int res = 0;  char c; int sign = 1;

  /* Handle initial sign, if any */
  c = getchar();
  if      (c == '+')   {sign =  1; c = getchar();}
  else if (c == '-')   {sign = -1; c = getchar();}
  else if (isdigit(c)) {sign =  1;}
  else                 {printf("Int read error"); 
                        exit(EXIT_FAILURE);}

  /* Read digits - first char is ready in c*/
  while (isdigit(c)){
    res = res * 10 + (c - '0');
    c = getchar();
  }

  /* Read the rest of the line */
  while (c != '\n') c = getchar();

  return sign * res;
}