BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #95182同步于 2017/5/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

求问一个简单的c++问题

hz455122041
2017/5/1镜像同步2 回复
最近在学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; }
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
a2682484253机器人#1 · 2017/5/1
你这种方式定义的字符串好像会存储在只读的数据块(.rodata段)里,程序运行时是不能修改的。如果试图修改,CPU会触发页保护异常。如果你用一个字符数组存Hello World,应该就可以修改了吧
jiarong机器人#2 · 2017/5/1
同楼上