error ..simple array

G

gNash

main()
{
char arr[20]="hai";

strcat(arr,arr);

printf("%s",arr);
}

its printed haihai..

when i replace hai to haii..

i got segmentation fault..

Why?...
 
F

Flash Gordon

gNash wrote, On 23/04/07 12:33:
main()
{
char arr[20]="hai";

strcat(arr,arr);

printf("%s",arr);
}

its printed haihai..

when i replace hai to haii..

i got segmentation fault..

Why?...

Blind luck. Passing overlapping strings to strcat invokes undefined
behaviour, which means that as far as the C language is concerned
ANYTHING is allowed to happen. You happen to have had the most common
results with your two tries, but just as well have caused your computer
to show hard porn whenever your mother or partner looks at it.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top