返回信息流最近在学c++ primier plus ,有一道课后题让将字符串中的所有c1替换为c2,并返回替换次数,我写的代码没有报错不过编译运行后不显示任何东西,想问问是哪里出了问题,代码如下:
#include <iostream>
using namespace std;
int repalce(char * str,char c1,char c2);
int main(){
int count;
count = repalce("Hello World!",'u','o');
cout << count;
return 0;
}
int repalce(char * str,char c1,char c2){
int count = 0;
for(int i = 0;i < strlen(str);i++){
if (str[i] == c1){
str[i] = c2;
count++;
}
}
return count;
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #95182同步于 2017/5/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
求问一个简单的c++问题
hz455122041
2017/5/1镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
你这种方式定义的字符串好像会存储在只读的数据块(.rodata段)里,程序运行时是不能修改的。如果试图修改,CPU会触发页保护异常。如果你用一个字符数组存Hello World,应该就可以修改了吧