7.13 编写一个程序,将两个字符串连接起来,不要用strcat函数。

今天不知道是怎么回事,完全提不起来兴趣。其实这段时间都是这样,每天只能写一段小程序,白天忙是一方面,其实和前些日子比起来已经轻松多了。就是烦躁,可能是自己又坚持不下去了吧?

今天看了如鹏网的公开课:Oracle放弃Java,我们怎么办? 真羡慕扬中科老师渊博的知识。

 

#include<stdio.h>//7.13 编写一个程序,将两个字符串连接起来,不要用strcat函数。
int main()
{
	char c1[80],c2[80];
	int i,j;
	printf("Input string1:");
	gets(c1);
	printf("Input string2:");
	gets(c2);
	for(i=0;c1[i]!='\0';i++)
	{
		
	}
	
	for(j=0;c2[j]!='\0';i++,j++)
	{
		c1[i]=c2[j];		
	}	
	
	puts(c1);
	return 0;
}

比书上的简单,第一次运行失败的原因是  c1[i+1]=c2[j];  。本来第一个for结束后i就移动到了第一字符串的最后一个位置了,已经是'\0'了。比如第一字符串是country,长度是7,0~6,第一个for运行后就i就已经是7了。c1[i+1]是c[8],c1[8]=c2[0],c[7]的数值没有改变还是'\0',所以最后puts(c1) 输出到c[7]遇到了字符串结束标志就输出结束了。

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qslife

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值