首页 > 学院 > 开发设计 > 正文

关于字符串

2019-11-06 07:23:27
字体:
来源:转载
供稿:网友

1、‘/0’的问题 举例

char str[10];strcpy(str,"0123456789");

先声明了一个char类型的数组,然后将10个数字复制到数组中,但是忘记了‘/0’,所以造成字符串越界,所以要复制这十个数,至少要11字节。

2.关于字符数组与字符指针 执行以下代码:

int main(){ char str1[]="helloworld"; char str2[]="helloworld"; char *str3="helloworld"; char *str4="helloworld"; if(str1==str2) cout<<"1,2 same"<<endl; else cout<<"1 2 bu same"<<endl; if(str3==str4) cout<<"3,4 same"<<endl; else cout<<"3 4 bu same"<<endl; return 0;}

str1和str2虽然存储的内容相同,但str1 和str2分别为两个不同的字符数组,所以初始地址不同,所以输出1 2 bu same str3和str4为两个指针,指向helloworld的地址,所以str3和str4相同,所以输出3,4 same

3.面试题 实现一个函数,把字符串中的空格都替换成“%20”。

void replacerank(string str){ string res; for (int i=0;i<str.size();++i) { if(str[i]==' ') { res+="%20"; } else { res.push_back(str[i]); } }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表