-Code-Strings
#include<stdio.h>
char *concat(char *p1,char *); //function decalaration
int main(void)
{
char a[100],b[100],*q=NULL; //declare two char arrays
printf("Enter str1:");
scanf("%s",a);
printf("Enter str2:");
scanf("%s",b);
q=concat(a,b); //calling str concat function
printf("Concatenated str:%s\n",q);
return 0;
}
char *concat(char *p1,char *p2) //function to concatenate strings
{
while(*p1!='\0')
p1++;
while(*p2!='\0')
{
*p1=*p2;
p1++;
p2++;
}
*p1='\0';
printf("Concatenated str=%s\n",p1); //printing the concatenated string
return p1; //returning pointer to called function
}
// verketten Obwohl die Logik korrekt ist, aber es ist nicht die Ausgabe zeigt. // Warum funktioniert dieser Code nicht?Warum druckt dieses Programm keine verkettete Zeichenfolge?
In Ihrem 'concat' Funktion, wenn Sie' Rückkehr p1' tun, was ist der Wert von '* p1'? –
@gsamaras Nicht wirklich schlecht, 'p1' zeigt immer noch auf eine gültige Zeichenfolge. –
Na ja @Someprogrammerdude, aber nicht der, den er will ..;) – gsamaras