我是c ++的新手,并且在星期天凌晨1点在一个回文程序中进行屠宰,因为!我遇到过这个问题:
输入:test反向:tset3-F
3-F来自哪里?有时它只是-F或其他数字-F.这是从哪里来的?
这是我的代码:
#include <iostream>
#include <string>
using namespace std;
int main() {
string eString;
int length;
int counter = 0;
cout << "Enter String: ";
cin >> eString;
length = eString.length();
char reverseChar[length];
for(int x = eString.length() -1; x > -1; x--) {
reverseChar[counter] = eString[x];
counter++;
}
cout << "Reverse: " << reverseChar;
}
Run Code Online (Sandbox Code Playgroud)
非常感谢你的时间.
您没有在字符串末尾添加空终止符.它是随机数据恰好在内存中.
reverseChar的长度应为+ 1
最终的char应该设置为'\ 0'
reverseChar [length] ='\ 0';
请参阅:http://en.wikipedia.org/wiki/Null-terminated_string
归档时间: |
|
查看次数: |
112 次 |
最近记录: |