我一些C++代码(find.cpp)应该在字符序列的末尾取两个数字并将它们打印为整数。函数返回0与任何输入
find.cpp:
#include <iostream>
#include "find_num.h"
int main() {
char test[6] = { 't', 'e', 's', 't', '4', '2' };
std::cout << find_num(test) << std::endl;
}
find_num.h:
#include <sstream>
int find_num(char char_in[]) {
char char_out[2];
int out;
for (int i = 0, end = true; end!=false; i++) {
if (char_in[i] == 0) {
for (int j = 0; j < 2; j++) {
char_out[j] = char_in[i - 2 + j];
}
std::stringstream(char_out) >> out;
end = false;
}
}
return out;
}
出于某种原因,当我编译和运行find.cpp,它总是输出0,但我会指望它打印42.我该如何解决这个问题?谢谢!
你没有一个*脚本*,你不跑* *一个'.cpp'文件。 – LogicStuff
它适用于我的编译器(Dev C++)并打印42.它可能与您的编译器有关。 –
@Kemal它与他的编译器无关。 –