Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅递归返回字符串中的特定字符C++; 我目前正在学习C++,但我的大脑在递归中有困难。当前的问题是遍历一个字符串并只返回其中的运算符:即“(”或“[”或“{”或“')”或“}”或“]”。不幸的是,我的程序一直返回空字符串。任何帮助都将不胜感激 #include <string> string operatorsOnly(string s) { if (s.length() == 0) { return ""; } if (s[0] != '(' or '[' or '{' or ')' or '}' or ']') { return operatorsOnly(s.substr(1, s.length() - 1)); } else { return s[0] + operatorsOnly(s.substr(1, s.length() - 1)); } } #包括 仅限字符串运算符(字符串s){ 如果(s.length()==0){ 返回“”; } 如果(s[0]!='('或'['或'{'或''')'或'}'或']')){ 仅返回运算符(s.substr(1,s.length()-1)); } 否则{ 返回s[0]+运算符only(s.substr(1,s.length()-1)); } }_C++_String_Recursion - Fatal编程技术网

仅递归返回字符串中的特定字符C++; 我目前正在学习C++,但我的大脑在递归中有困难。当前的问题是遍历一个字符串并只返回其中的运算符:即“(”或“[”或“{”或“')”或“}”或“]”。不幸的是,我的程序一直返回空字符串。任何帮助都将不胜感激 #include <string> string operatorsOnly(string s) { if (s.length() == 0) { return ""; } if (s[0] != '(' or '[' or '{' or ')' or '}' or ']') { return operatorsOnly(s.substr(1, s.length() - 1)); } else { return s[0] + operatorsOnly(s.substr(1, s.length() - 1)); } } #包括 仅限字符串运算符(字符串s){ 如果(s.length()==0){ 返回“”; } 如果(s[0]!='('或'['或'{'或''')'或'}'或']')){ 仅返回运算符(s.substr(1,s.length()-1)); } 否则{ 返回s[0]+运算符only(s.substr(1,s.length()-1)); } }

仅递归返回字符串中的特定字符C++; 我目前正在学习C++,但我的大脑在递归中有困难。当前的问题是遍历一个字符串并只返回其中的运算符:即“(”或“[”或“{”或“')”或“}”或“]”。不幸的是,我的程序一直返回空字符串。任何帮助都将不胜感激 #include <string> string operatorsOnly(string s) { if (s.length() == 0) { return ""; } if (s[0] != '(' or '[' or '{' or ')' or '}' or ']') { return operatorsOnly(s.substr(1, s.length() - 1)); } else { return s[0] + operatorsOnly(s.substr(1, s.length() - 1)); } } #包括 仅限字符串运算符(字符串s){ 如果(s.length()==0){ 返回“”; } 如果(s[0]!='('或'['或'{'或''')'或'}'或']')){ 仅返回运算符(s.substr(1,s.length()-1)); } 否则{ 返回s[0]+运算符only(s.substr(1,s.length()-1)); } },c++,string,recursion,C++,String,Recursion,您无法使用该语法将一个变量与多个值进行比较。您需要执行以下操作: if (s[0] != '(' or s[0] != '[' or s[0] != '{' or s[0] != ')' or s[0] != '}' or s[0] != ']') { // ... 这回答了你的问题吗?此外,尽管使用或可以“工作”,但您确实应该使用|。

您无法使用该语法将一个变量与多个值进行比较。您需要执行以下操作:

if (s[0] != '(' or s[0] != '[' or s[0] != '{' or s[0] != ')' or s[0] != '}' or s[0] != ']') {
  // ...

这回答了你的问题吗?此外,尽管使用
可以“工作”,但您确实应该使用
|