Code:
#include <stdio.h>
#include "intgetnum.h"
#define MAXNUM 2
/* prototype */
int getnum();
int main()
{
int retval = 1;
while (retval != NULL)
{
retval = getnum();
}
printf("The number was %d\n", retval);
return 0;
}
Code:
/* Declarations */
int getnum()
{
int pos = 0;
int nflag = 0;
int number = 0;
int num1, num2;
char ch;
ch=getchar();
printf("Enter your first numbers\n");
scanf("%d", &num1);
printf("Enter your second number\n");
scanf("%d", &num1);
if (pos == 0)
{
pos++;
}
if (ch == '+')
{
pos++;
}
if (ch == '-')
{
nflag=1;
}
if (ch >= 48 && ch <= 57)
{
number *= 10;
ch = 48;
pos++;
ch=getchar();
}
if (nflag == 1)
{
number *= -1;
}
if (ch == ' ' || ch == '\n')
{
}
else
return NULL;
}
I still get a infinate loop, unless i press a letter a few times, then I get a return value of 0