分享一道C语言的经典的题目.题目要求如下:
利用字符指针实现字符串1“I Love China”与字符串2“So do I”的输出。然后利用字符指针将字符串2的内容复制到字符串1中,然后输出字符串1.
乍一看,没什么大的问题,用一个strcpy()函数直接就可以解决掉,但是仔细读题,指针!当时就没怎么学懂,所以在这,记录一下血与泪的辛酸史.
一、问题思路与代码
先看下面一段代码:
1 char string1[50]="I Love China.";
2 char string2[50]="So do I.";
3 char * p1,* p2;
4 p1=string1;
5 p2=string2;
很简单的两句话,初始化指针为两个字符串的首地址.
接着,尝试把字符串输出.
1 for(p1;*p1!=0;p1++)
2 {
3 printf("%c",*p1);
4 }
string2原理相同,到这的话还是很简单的嘛.
接下来,我们需要将字符串2的内容复制到字符串1中,啊哈,这才是重头戏.
首先,我们一定要初始化指针,否则就是在原先的指针之后进行操作,然后进行如下操作:
1 for(;*p2!='