我尝试将一个字符串循环移位1次以实现旋转。以下是简单的代码:
当我运行这段代码时,会得到以下输出:
我的数组长度如何变化? 由于垃圾值的存在,它会发生什么?
#include <bits/stdc++.h>
using namespace std;
int main() {
string s = "1010";
char a[s.length()];
for (int i = 0; i < s.length() - 1; i++) {
a[i] = s[i+1];
}
a[s.length()-1] = s[0];
std::cout << a << '\n';
std::cout << strlen(a) << '\n';
}
当我运行这段代码时,会得到以下输出:
aditya@aditya-Inspiron-3558:~/miscCodes$ ./a.out
0101�
6
我的数组长度如何变化? 由于垃圾值的存在,它会发生什么?
char a[s.length()];
。 - Matthieu Brucherstd :: cout
和strlen
一起使用。 - Yksisarvinenchar a[s.length() + 1] = {0};
这行代码将修复你的程序。 - 273K