Em đang làm bài dùng string để cộng hai số. Nhưng khi in ra thì ra kí tự đặc biệt
int main()
{
string a, b, c, t;
fi >> a >> b;
int n=b.size(), nho=0, them;
if (a.size()>b.size()) // Khúc này là em cho chiều dài 2 xâu = nhau
{
them=a.size()-b.size();
for (int i=1; i<=them; i++) t+='0';
b=b.insert(0, t);
}
if (b.size()>a.size())
{
them=b.size()-a.size();
for (int i=1; i<=them; i++) t+='0';
a=a.insert(0, t);
}
for (int i=a.size()-1; i>=0; i--)
{
int so, kt=0;
so=(a[i]-48)+(b[i]-48)+nho;
if (so>=10)
{
nho=1;
so=so-10; //Cái này là biến nhớ để cộng cho số sau
kt=1;
}
if (so<10&&kt!=1)
nho=0;
c+=(so+48);
}
for (int i=c.size(); i>=0; i--) fo << c[i] ;
fo.close(); fi.close();
}
Nếu khúc in ra em để có dấu cách for (int i=c.size(); i>=0; i--) fo << c[i] << " ";
thì nó lại ra đúng. Ai có thể giải thích cho em không ạ?