J
Jos De Laender
Following simple program :
#include <stdio.h>
char *Convert(int Arg) {
static char Buffer[128];
printf("Convert called for %d\n",Arg);
sprintf(Buffer,"%d",Arg);
printf("Convert about returning %s\n",Buffer);
return Buffer;
}
main() {
printf("%s %s\n",Convert(10),Convert(56));
}
Generates output :
[jos@krekel TestStaticString]$ ./a.out
Convert called for 56
Convert about returning 56
Convert called for 10
Convert about returning 10
10 10
This is puzzling me a lot as I would expect 10 56
Can someone enlighten me on my error ?
I'm using gcc 2.96 on a Mandrake Linux system.
Thanks.
Jos
#include <stdio.h>
char *Convert(int Arg) {
static char Buffer[128];
printf("Convert called for %d\n",Arg);
sprintf(Buffer,"%d",Arg);
printf("Convert about returning %s\n",Buffer);
return Buffer;
}
main() {
printf("%s %s\n",Convert(10),Convert(56));
}
Generates output :
[jos@krekel TestStaticString]$ ./a.out
Convert called for 56
Convert about returning 56
Convert called for 10
Convert about returning 10
10 10
This is puzzling me a lot as I would expect 10 56
Can someone enlighten me on my error ?
I'm using gcc 2.96 on a Mandrake Linux system.
Thanks.
Jos