简单的字符串问题!大家都来看看!
#include<iostream>
using namespace std;
int strcopy(const char str1[],char str2[]);
int main(){
char s1[80],s2[80];
cout<<"Please input a string:";
cin.getline(s1,80,'\n');
strcopy(s1,s2);
cout<<"The string s2 is:"<<s2<<endl;//直接写s2就可以输出字符串,可下面,! str1[0],str2[i],都加了[]str1[i++]
return 0;}
int strcopy(const char str1[],char str2[]){ //为什么家const?
if(! str1[0])
return 0;
int i=0;
do{
str2[i]=str1[i++];}//因该写成str2[i]=str1[i];才对啊 !!!!!
while(str1[i]);
str2[i]='\0';
return 1;}//返回1和返回0的区别是什么?
[解决办法]
1. const 说明 不改变 str1[] 中的内容,你在网上搜索下const的用法,讲得很细的
2. 如果不是i++, 那么这个while会是一个死循环, 因为i等于0, 根本不会改变
顺便说明下,你好像不太理解str[i]的意思, str[i]表示的是一个字符, 而不是整个字符串哈
3. 如果str1为空,即长度为0,返回0, 否则返回1
[解决办法]
1. const 说明这个输入参数是只读的, 这样可以保护指针参数为不经意的修改
2. str2[i]=str1[i++] 是
str2[i]=str1[i];
i++;
两句的简写