Guys, Helping my son with a simple little area program, I am running into a segmentation fault after program execution. It seems to be with the strtod conversion, but I can't figure out why. It compiles without issue and executes fine, but then I get a Segmentation Fault error after the program ends. The code is: #include <stdio.h> #include <stdlib.h> #include <math.h> int main (int argc, char *argv[]) { if (argc < 2) { fprintf(stderr, "\nERROR: Usage: %s radius list\n", argv[0]); fprintf(stderr, "\n example: %s 4 16 21 8 for area calculations\n\n", argv[0]); exit (1); } char *p; int i; double rad; double area; for (i=1;i<=argc;i++) { rad = strtod(argv[i],&p); area = M_PI*rad*rad; printf(" rad : %5.2f area : %10.4f\n", rad, area); } return 0; } It compiles without error on 11.4 (x86_64) with: gcc -Wall ztst.c -o ztst It seems to run fine: 13:22 alchemy:~/dev/prg/ccpp/src-c/misc> ./ztst 1 2 3 4 rad : 1.00 area : 3.1416 rad : 2.00 area : 12.5664 rad : 3.00 area : 28.2743 rad : 4.00 area : 50.2655 Segmentation fault So where is this segfault coming from? I have experimented and commented out of the strtod function and just hard coded values for rad (i.e.: rad = (double) i;) and it runs without a segfault. Am I doing something wrong with the strtod call? What say the experts? -- David C. Rankin, J.D.,P.E. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org