
#include<stdio.h>
#include<ctype.h>
/*一个是字符串的结束标志’\0’ ,表示的是空字符,
一个是文件输入的结束标志EOF,其代表着常量-1。*/
int main()
{
char s,b,c;
scanf("%c",&s);
int count;
getchar();
if(s=='C'){
b=getchar();
while((c=getchar())!=EOF){
//不用EOF会出现超时错误
count=1;
if(c==b){//相同计数
count++;
}
else{//不同输出
if(count==1){
printf("%c",b);
}
else{
printf("%d%c",count,b);
}
}
b=c;
}
// getchar();
}
else if(s=='D'){
//b=getchar();
while((c=getchar())!=EOF){
if(isdigit(c)){
count=c-'0';
while(isdigit(c=getchar())){//不止一位
//count=(c-'0')*10+b-'0';
count=count*10;
count+=c-'0';
}
for(int i=0;i<count;i++){
printf("%c",c);
}
}
else{//没有数字直接输出字符
printf("%c",c);
}
}
// getchar();
}
return 0;
}
输入测试1时,无法得到正确答案 请问这是为什么
