Good answer!
--- In [email protected], "Paul Herring" <[EMAIL PROTECTED]>
wrote:
>
> On Wed, Mar 12, 2008 at 1:24 PM, xiaoxinchen1989
> <[EMAIL PROTECTED]> wrote:
> > this is a programe ,could you tell me why it can't run?Thank you!
> >
> >
> > #include<stdio.h>
> > #include<stdlib.h>
> > #include<string.h>
> >
> > int main()
> > {
> > int n=10;
> > char* s=(char*)malloc(sizeof(char)*100);
>
> Unnecessary and potentially dangerous casts, and redundant sizeof
operation
>
> > char* s2=(char*)malloc(sizeof(char)*100);
> > itoa(n,s,10);
>
> Non-standard function. Use sprintf() instead.
>
> > s2="*";
>
> Memory leak; you've lost the pointer to the allocated memory - you
> perhaps meant strcpy?
>
> > strcat(s2, s);
>
> You are modifying a constant (read only) string - undefined
behaviour.
>
> > printf("%s", s2);
> > system("pause");
> > return 0;
>
> Missing calls to free()
>
> > }
>
> What are you trying to do, to which this is your answer?
>
> --
> PJH
>
> A man walks into a bakery, points and the girl behind the counter
> "Is that a macaroon or a meringue?"
> "No, you're right, it's a macaroon."
>