#include <stdio.h>
void strcat(char *s, char *b);
int main()
{
char a[]="Abra ";
char b[]="Kadabra";
//char *a="Abra ";
//char *b="Kadabra";
strcat(a,b);
printf("%s\n",a);
return 0;
}
// strcat: dołącza ciąg t na końcu ciągu s
void strcat (char *s, char *t)
{
while (*s) s++;
while (*s++ = *t++);
}
Mam pytanie, dlaczego jeżeli zdefiniuję zmienne jako wskaźniki do tekstu program nie działa, natomiast nie ma problemu jeśli te zmienne będą tablicami? Dziwi mnie to, ponieważ doczytałem, że zmienna tablicowa ma określoną przy definicji długość w przeciwieństwie do zmiennych wskaźnikowych. Proszę o wytłumaczenie.