Originariamente inviato da pprllo
Sei sicuro di aver provato questo ?

codice:
char *a = "a2a\n";
char *b = "b2b\n";
strcat(a, b);
printf("%s", a);
E' davvero strano perchè a me Borland C++ 5.5.1 su Windows XP lo compila e funziona perfettamente ...
Di fatti è corretto in quanto scrivere *a ed a[] è la meddesima cosa, e solo in questo caso si fa senza specificare la dimensione in quanto viene ricavata dall'assegnamento: char *a = "a2a\n"; e viene aggiunto anche il terminatore quindi è uguale a scrivere: char a[4] = "a2a\n";