首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

简单的字符串有关问题!大家都来看看

2012-03-08 
简单的字符串问题!大家都来看看!#includeiostreamusing namespace stdint strcopy(const char str1[],c

简单的字符串问题!大家都来看看!
#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++;
两句的简写

热点排行