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/

Reply via email to