如何以相反的顺序将数组的内容存储到新数组中。
char str[13];
char revstr[13];
cout << "Enter string: ";
cin.getline(str,13);
如何编写一个语句以反向顺序将char str [13]的内容存储到revstr [13]
答案 0 :(得分:3)
看看这个字符串:
char str[8] = "Jessica";
在内存中需要8个字节:7个字符+终止字符'\0'
:
J | e | s | s | i | c | a | \0
你想得到的是:
a | c | i | s | s | e | J | \0
J
从位置0
转到7
(length - 1
),e
从1
转到6
。 。a
从7
到0
你现在应该可以自己编写循环了。请注意,这些是基础知识,你应该从一些书中学到,而不是在这里询问。
答案 1 :(得分:1)
只需使用std::string
:
std::string newString( std::rbegin(oldString), std::rend(oldString) );
答案 2 :(得分:1)
你需要获取数组中的最后一个元素,然后循环遍历每个元素,然后将其存储到revstr [13]。更多相关内容http://www.cplusplus.com/forum/general/14951/
答案 3 :(得分:0)
char str[13], revstr[13];
cin>>str;
for(int i = 0; i < 13; i++) {
revstr[13-i-1] = str[i];
}
cout<<revstr<<"\n";
答案 4 :(得分:0)
#include <iostream>
int main(int argc, char** argv) {
char str[13];
char revstr[13];
std::cout << "Enter string: ";
std::cin.getline(str, 13);
for (int i = 0; i < 13; i++) {
revstr[12 - i] = str[i];
}
for (int i = 0; i < 13; i++) {
std::cout << revstr[i] << " ";
}
system("pause");
return (0);
}