Re: Floating Point Issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2007-09-27 at 12:41 +0100, mahamuni ashish wrote:
> I have small code....
> 
> #include <stdio.h>
> #include <string.h>
> 
> int main()
> {
> float f= 1256.35;
> char ch[4];
> 
> printf("\n1. f : %f",f);
> memset(ch,'\0',strlen(ch) );
> printf("\n2. f : %f",f);
> return 0;
> }
> 
> Expected output is
> 1. f : 1256.35
> 2. f : 1256.35
> 
> But I am getting the output
> (on windows)
> 1. f : 1256.35
> 2. f : 0.000000
> 
> (on Linux)
> 1. f : 1256.35
> segmentation fault
> 
> why?

'cos 'strlen(ch)' isn't defined until you've initialised ch. If you swap
that line out with 'memset(ch, '\0', sizeof(ch))' then it will work.

Not a kernel bug, and hence not appropriate material for this list.

Trond

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux