我一些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它與他的編譯器無關。 –