我是一名编程初学者,被朋友给了一个项目来反转用户输入的字符串的顺序,但是当我运行这段代码时,程序只是反复打印输入的字符串很多时间结束,我不知道什么是错的。如何反转字符串
例如,我输入"hi"
,它只是多次打印"hi"
。我一直在使用cin
,getline
和scanf
(如朋友推荐的)尝试过,但都无济于事......
#include <iostream>
using namespace std;
int main()
{
char arr[5];
getline(cin, arr);
for(int x=4; x>=0; x--){
cout << arr << endl;
}
return 0;
}
以相反的顺序打印一个字符串,实际上反转一个字符串是两回事。您的标题询问实际上反转字符串,但您试图以相反的顺序打印。你究竟在努力实现什么? – taskinoor
如果您删除循环并保留'cout << arr << endl;',它会打印什么?如果你把它放在循环中,为什么还要打印其他内容? – molbdnilo
在一个不相关的说明中,事实上你的第一个程序有一个bug,你的直觉是检查所有的东西*除了你的逆转方法的逻辑不是一个好兆头。 – molbdnilo