我正在尝试创建一个函数,用字符串中的空格替换0,1或2.我通过迭代字符串并比较每个字符来实现它.
如果我比较str_in [i] =='0',我的函数将起作用,但如果我添加or语句则不返回任何内容.
片段:
string omit_num( string ) {
int i ;
str_len = str_in.length();
str_out = "" ;
for( i = 0 ; i < str_len ; i ++ ){
cout << str_in[i] << endl;
if ( str_in[i] == '0' || '1' || '2')
app = " " ;
else
app = str_in[i];
str_out.append(app) ;
}
return str_out;
}
Run Code Online (Sandbox Code Playgroud)
rav*_*int 11
你需要
if ( str_in[i] == '0' || str_in[i] =='1' || str_in[i] =='2')
Run Code Online (Sandbox Code Playgroud)
你每次都必须重复测试,'1','2'本身基本上是小的整数并且评估为真.它应该如下所示:
if (str_in[i] == '0' || str_in[i] == '1' || str_in[i] == '2')
Run Code Online (Sandbox Code Playgroud)