急急急!!!有关c语言连接字符串的问题

急急急!!!有关c语言连接字符串的问题,第1张

你好!

首先,我要说的是你的代码是有问题的哦,不过都是些语法问题,还是给你写出来,不然运行不过去。

1.if(sizeof str <count1+count2+1)

应为if(sizeof (str1 )<count1+count2+1)

2.printf("\you can not put a quart into a pint pot.")

应为printf("\nyou can not put a quart into a pint pot.")

3.printf(''\n%s\n'',str1)

应为printf("\n%s\n",str1)(注意你的中英文符号“”和"")

然后就是你的问题了.

int count1 =0

int count2 =0

这里是统计str1.str2各有多长,然后把str2的长度归零.

str1为18,str2为21.

那么str1[count1++]=str2[count2++] 的意思就是str1[19]等于str2[0],str[20]=str2[1],str1[21]=str2[2]......依此类推,把所有str2的字符赋给str1。不知道你明白了吗?

最后,没有什么菜鸟之说,大家都是从不熟悉到熟悉的,所以要对自己有信心。

希望我的回答能帮助你。

补充:count1的值是循环结束时的count1++的值,即为19.所以是从str1[19]开始往后继续的。

// void fun(char p1[], char p2[]) 的最后一行

p2[j]='\0'

// 改为:

p1[n]='\0' #include <stdio.h>

void fun(char p1[], char p2[])

{

int i=0,j=0,n=0

while(p1[i]!=0)

{

i++

n++

}

while(p2[j]!=0)

{

p1[n]=p2[j]

n++

j++

}

p1[n]='\0'

}

main()

{char s1[80], s2[40] void NONO ()

     printf("Enter s1 and s2:\n")

     scanf("%s%s", s1, s2)

     printf("s1=%s\n", s1)

     printf("s2=%s\n", s2)

     printf("Invoke fun(s1,s2):\n")

     fun(s1, s2)

     printf("After invoking:\n")

     printf("%s\n", s1)

     //NONO()

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9885621.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存