コードのロジックが正しいが、その出力を示していないが、//文字列に
#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
}
を連結します。 //このコードが機能しないのはなぜですか?なぜこのプログラムは連結文字列を出力しないのですか?
を、あなたは'リターンp1'を行う際に、 '* p1'の値は何ですか? –
@gsamaras実際には悪いことに、 'p1'はまだ有効な文字列を指しています。 –
さて、@Someprogrammerdude、しかし彼が望んでいない..;) – gsamaras