|
问题简述:传入一个字符串,字符串奇数转换为大写
运行之后显示访问冲突
#include<iostream>
#include<string>
using namespace std;
bool string_upper_diy(char str[],int str_len,bool b_odd_pos = true){
if(b_odd_pos){
for(int i=0;i<str_len;i++){
//这句大于等于97 是为了防止当前字符本身就是大写
if(i%2!=0 && ((int)str[i])>=97){
str[i] = str[i]-32;
cout << str[i] << endl;
}
}
}
return true;
}
int main(){
string_upper_diy("hello",strlen("hello"));
system("pause");
return 0;
}
"hello" 是存在静态存储区,你不能改变他的值
- int main() {
- char str[] = "hello";
- string_upper_diy(str,strlen(str));
- system("pause");
- return 0;
- }
复制代码
|
上一篇: POST第七课的Get_WinHttp_RspString这个封装乱码问题下一篇: sizeof打印数组问题
|