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]