在用string写题的时候,写了下面代码,调试时报错
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cmath>
#include<ctime>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cstdlib>
#pragma warning(suppress : 4996)
using namespace std;
string num[31];
int n;
string a(string n)
{
string ans = "\0";
int len = n.length();
int lena = 1;
int k = 1;
for (int i = 1; i <= len; i++)
{
if (n[i] != n[i + 1])
{
ans[lena++] = k + 48;
ans[lena++] = n[i];
k = 1;
}
else
{
k++;
}
}
return ans;
}
int main()
{
cin >> n;
num[1] = "1";
for (int i = 2; i <= n; i++)
{
num[i] = a(num[i - 1]);
}
cout << num[n];
return 0;
}
运行到if (n[i] != n[i + 1])时报的错,怀疑是string类型用错了