下面这个代码使用getchar()为什么一直RE啊,不懂哇
#include<bits/stdc++.h>
using namespace std;
char a[40002];
int main(){
char c=getchar();
int i=1;
while(c!='\n'){
a[i]=c;
c=getchar() ;
i++;
}
int n=i-1;
for(int j=1;j<n;j++){
c=getchar();
while(c!='\n'){
a[i]=c;
c=getchar() ;
i++;
}
}
cout<<n<<" ";
if(a[1]!='0') cout<<0<<" ";
for(int i=1;i<n*n;i++){
int k=1;
while(a[i]==a[i+1]){
k++;i++;
}
cout<<k<<" ";
}
if(a[n*n]!=a[n*n-1]) cout<<1<<" ";
}
换成这个字符串数组输入代码才可以,到底为啥
#include<bits/stdc++.h>
using namespace std;
char a[40002];
int main(){
string s[201];
cin>>s[1];
for(int i=2;i<=s[1].length();i++){
cin>>s[i];
}
int m=1;
int n=s[1].length();
cout<<n<<" ";
for(int i=1;i<=n;i++){
for(int j=0;j<n;j++){
a[m]=s[i][j];
m++;
}
}
if(a[1]!='0') cout<<0<<" ";
for(int i=1;i<n*n;i++){
int k=1;
while(a[i]==a[i+1]){
k++;i++;
}
cout<<k<<" ";
}
if(a[n*n]!=a[n*n-1]) cout<<1<<" ";
}