广东美容院加盟:帮我解释一下这段代码的意思..

来源:百度文库 编辑:高校问答 时间:2024/05/01 21:16:18
这段代码我看不懂.不知道什么意思.哪位高手很详细注解一下.
//file name:d.cpp
#include <iostream>
using namespace std;
void string_copy(char*dest,const char*src)
{
while((*dest++=*src++)!='\0');
}
void string_copy(char*dest,const char*src,int len)
{
while(len&&(*dest++=*src++)!='\0')
--len;
while(len--)
*dest++='\0';
}
char misspiggy[20],kermit[20];
main()
{
string_copy(misspiggy,"miss piggy");
string_copy(kermit,"kermit,the file transfer protocol",6);
cout<<kermit<<"and"<<misspiggy;
}

#include <iostream>
using namespace std;

//将src指向的字符串(字符数组)拷贝到dest指向的空间。
void string_copy(char*dest,const char*src)
{
while((*dest++=*src++)!='\0');
}

//将src指向的字符串的前len个字符拷贝到dest指向的空间。
void string_copy(char*dest,const char*src,int len)
{
//该while循环停止有两种情况:一是已经拷贝了len个字符,每拷贝一个字符len减一,len变为0的时候就中止循环;二是拷贝到了字符串结尾处的'\0'。
while(len&&(*dest++=*src++)!='\0')
--len;

//如果上一个while中止是因为拷贝到了字符串结尾,即源字符串的长度小于len,则将目标字符串的后面添加'\0',直到第len个字符。从该程序看,这个while循环可以不要,不影响结果。
while(len--)
*dest++='\0';
}
char misspiggy[20],kermit[20];
main()
{

//分别测试两个string_copy,根据函数参数个数和类型的不同会选择调用合适的一个。
string_copy(misspiggy,"miss piggy");
string_copy(kermit,"kermit,the file transfer protocol",6);
cout<<kermit<<"and"<<misspiggy;
}