Mail Archives: djgpp/1999/10/25/13:05:31
The following program compiled wit gcc 2.95.1 produces
the following output when ^C was hit:
0
NaN
NaN
CtrlBreak 295
But I'd have epected something like:
0
errno xxx
NaN
errno xxx
NaN
CtrlBreak 295
Any explanation please ??
=======================
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
void FloatError(int sig)
{
printf("errno %d\n",sig);
}
void CtrlBrk(int sig)
{
printf("CtrlBreak %d\n",sig);
}
void (* fp)(int);
int main(int argc, char *argv[])
{
//double x=NAN,y=NAN,z=NAN;
double x,y,z;
fp=CtrlBrk;
signal(SIGINT,fp); /* ctrl-break */
fp=FloatError;
signal(SIGFPE,fp);
y=z*x;
printf("%g\n",y);
z=0.0;
x=y/z;
printf("%g\n",x);
y=sqrt(-1.0);
printf("%g\n",y);
getch();
return 0;
}
--
Waldemar Schultz.
Technische Universität München, Zentrum Mathematik M1, D 80290 München
Tel: +49 (0)89 2892 8226 FAX: +49 (0)89 2892 8228
- Raw text -