gpt4 book ai didi

c - 为什么这个程序不打印连接的字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 05:35:16 26 4
gpt4 key购买 nike

连接字符串的代码

    #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 未指向连接字符串的开头。您只需保存原件并归还即可。

   char *concat(char *p1,char *p2) //function to concatenate strings
{
char *org = p1;

...
return org;
}

关于c - 为什么这个程序不打印连接的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40422883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com