I know this is a cheesy question but I can not figure it out what's happening here...If you delete the last loop, problem will be solved. It just happens when "." is the first input...why?
#include <stdio.h>
#include <conio.h>
int main()
{
long int fact;
int i=1, num, num0,per;
char end;
for(num0=0; (end=getchar())!=46; num0++){
printf("\nEnter a number:");
scanf("%d",&num);
fact=1;
for(; i<=num; i++){
fact*=i;
fact+=1;
fact+=num;
printf("Ok done");
}
printf("The factorial is:%ld",fact);//*
printf("Hi");
}
for(per=0; per<=10 ;per++)//*
printf("per");//*
printf("Finish\n");
getch();
return 0;
}
Input:
Enter a number:.
Output:
Ok doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneOk doneThe factorial is:-1271807075HiperperperperperperperperperperperFinish