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/