Подскажите плиз как можно поизящнее написать примерно такой код?

Код:
# include <stdio.h>
void stradd(char*,char*);
int main()
{
int i;
char text1[100];
char text2[21];
printf("Erster Text? ");
for (i=0; i<100; i++)
{
scanf("%c",&text1[i]);
if((text1[i] !='\n') && (i<100))
continue;
else
{
text1[i]='\0';
break;
}
}
printf("Zweiter Text?");
for (i=0; i<21; i++)
{
scanf("%c",&text2[i]);
if((text2[i] !='\n') && (i<21))
continue;
else
{
text2[i]='\0';
break;
}
}
stradd(text1,text2);
printf("Nach der Verkettung: %s\n",text1);
return 0;
}
void stradd(char *z,char *q)
{
while(*z)
z++;
while(*z++ = *q++)
;
}