比如我输入的内容为ABC
输出的内容要变成CBA
我需要用什么方法才能实现?需要用到指针吗?
char s[100];
scanf("%s", s);
int n = strlen(s);
for (int i = n - 1; i >= 0; i--)
printf("%c", s[i]);
printf("\n");
string.h中的strrev函数就可以实现
倒置只需要一次for循环就可以了, 以中间为界限,第一个和最后一个交换,第二个3和倒数第二个交换
例如
#include <iostream>
using namespace std;
int main()
{
string str;
cout << "Please enter string: ";
cin >> str;
for(int i = 0, j = str.size()-1; i < (int)str.size() / 2; ++i, --j)
{
char c = str[j];
str[j] = str[i];
str[i] = c;
}
cout << str;
return 0;
}
一种是用循环,一楼循环倒序输出,三楼循环将字符串反转再顺序输出,都可以;
第二种是用,用栈存储输入文本,栈是后进先出,先进后出,自然就倒序输出了