字符串相加其中出现\0问题,求助.....
查看原帖
字符串相加其中出现\0问题,求助.....
448956
Wk_wk楼主2022/3/29 01:27
#include<bits/stdc++.h>
using namespace std;

string DivideNum(int num) {
	if (num == 0) return "0";
	if (num == 1) return "2";
	int i = 0;
	string ans = { 0 };
	while (num) {
		if (num & 1) {
			string temp = DivideNum(i);
			if (!temp.compare("0"))
				ans = "+2(0)" + ans;
			else if (!temp.compare("2"))
				ans = "+2" + ans;
			else
				ans = "+2(" + temp + ")" + ans;
		}
		num >>= 1;
		i++;
	}
	ans.erase(ans.begin());
	return ans;
}
int main() {
	int n;
	cin >> n;
	string temp = DivideNum(n);
	cout << temp;
	return 0;

}

试过用洛谷的IDE跑了一下,发现把乱码的部分去掉,答案是对的,调试了一下发现其中多出了\0,试了好多方法也解决不了。改了一天着实把我整麻了。。。

2022/3/29 01:27
加载中...