|
发表于 2009-11-6 00:32:49
|
显示全部楼层
IP:江苏扬州
下面是一个字符串的复制函数,有几个问题还请大家多指教,谢谢!!
#include <iostream.h>
int str_copy(char str1[],const char str2[])
{
if(!str2[0]) //说明字符串为空,为什么要这样写?
//str2[0]为‘/0’(其ASCII码为0)时,表示str2为空数组
return 0;
int i=0;
do {
str1[i]=str2[i++];
}while(str2[i]); //为什么不是 while(str2[i]!='\0') ??‘/0’其ASCII码为0
str1[i]='\0';
return 1; } //为什么不是 return 0 ?? 不是已经复制完了吗?这里的返回值可以为任意整数,单要看主函数的判断条件
如:
void main()
{
char str1[5],str2[5]="afsd";
if(str_copy(str1, str2))//这里可以返回1
cout<<"successed!";
}
void main()
{
char str1[5],str2[5]="afsd";
if(!str_copy(str1, str2))//这里可以返回0
cout<<"successed!";
} |
|