代碼來連接字符串
#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
}
//雖然邏輯是正確的,但其不顯示輸出。 //爲什麼這段代碼不起作用?爲什麼這個程序不打印連接字符串?
在你的'concat'功能,當你做'回報p1',什麼是'* p1'的價值? –
@gsamaras不是很糟糕,'p1'仍然指向一個有效的字符串。 –
嗯是@Someprogrammerdude,但不是他想要的那個;;) – gsamaras