C语言编写一个程序输入两个字符串1和字符串2(两个字符串长度不超过20),把字符串2连接到字符串1后面,并输出

 我来答
邹金辰bW8af
2013-01-15 · TA获得超过619个赞
知道小有建树答主
回答量:459
采纳率:0%
帮助的人:317万
展开全部
 说白了就是strcat

char *strcat(char *strDest, const char *strSrc) //将源字符串加const,表明其为输入参数

  {

  char *address = strDest; //该语句若放在assert之后,编译出错

  assert((strDest != NULL) && (strSrc != NULL)); //对源地址和目的地址加非0断言

  while(*strDest) //是while(*strDest!=’\0’)的简化形式

  { //若使用while(*strDest++),则会出错,因为循环结束后strDest还会执行一次++,那么strDest

  strDest++; //将指向'\0'的下一个位置。/所以要在循环体内++;因为要是*strDest最后指

  } //向该字符串的结束标志’\0’。

  while(*strDest++ = *strSrc++)

  {  
*p++等价于*(p++)。至于为什么会等价呢?根据c语言的优先级。*与++的优先级同处在第二级别上。他们的优先级是一样的,又因为处在第二级别的优先级运算符是结合方向是从右到左,所以当出现*p++这样的表达式的时候,根据优先级别相同,并且结合方向是从右到左,所以就等价于*(p++)了。那么也就是,先将p指针移动到下个p指针所指向元素的地址的下一个地址,然后再对那个地址取值。(*p)++是取p所指向地址的值,然后再将这个值+1
  NULL; //该循环条件内可以用++,

  } //此处可以加语句*strDest=’\0’;无必要
爱下伴s
2013-01-24 · TA获得超过346个赞
知道答主
回答量:24
采纳率:0%
帮助的人:10万
展开全部
#include<stdio.h>
#include<stdlib.h>
void main()
{
char a[20],b[20]; //创建两个字符串数组,大小可以自定,但要大于20
int n=0,m=0,i,j;
do
{
scanf("%c",&a[n]);
n++;
}
while(a[n-1]!='\n'); //输入第一个数组
n=n-1; //将n重新赋值,为第一个数组的最后一个元素(\0)标志
do
{
scanf("%c",&b[m]);
m++;
}
while(b[m-1]!='\n'); //输入第二个数组
b[m-1]='\0'; //第二个数组的结束标志
for(i=n,j=0;j<=m-1;i++,j++)
{
a[i]=b[j];
} //将第二个字符数组的内容连接到第一个字符数组的末尾
printf("%s\n",a);
system("pause");
}

已测,无误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xoaxa
推荐于2017-09-03 · TA获得超过8611个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3494万
展开全部
/*
I love my friends!
Press any key to continue
*/
#include <stdio.h>
char *StrCat(char strDest[], char strSrc[]) {
int i = 0,j = 0;
while(strDest[i]) ++i;
while(strDest[i++] = strSrc[j++]);
return strDest;
}

int main() {
char s[30] = "I love my ";
char t[] = "friends!";
printf("%s\n",StrCat(s,t));
return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
高粉答主

推荐于2017-10-08 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
#include<stdio.h>
int main()
{char s1[40],s2[20];
int i,j;
gets(s1);
gets(s2);
for(i=0;s1[i];i++);
for(j=0;s2[j];j++)
s1[i++]=s2[j];
s1[i]='\0';
puts(s1);
return 0;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式