文章
1
粉丝
0
获赞
4
访问
308
本地ide运行没问题,提交显示Output Limit Exceeded
#include<stdio.h>
#include<stdlib.h>
int main(){
char a[105],b[105];
char *q,*p;
while(scanf("%s%s",a,b)!=NULL){
char *m;
int sum1=0,sum2=0;
p=a;q=b;
for(int i=0;*(p+i)!='\0';i++)
sum1++;
for(int j=0;*(q+j)!='\0';j++)
sum2++;
m=(char*)malloc((sum1+sum2+1)*sizeof(char));
for(int i=0;i<(sum1+sum2);i++){
if(i<sum1){
*(m+i)=*(p+i);
}
else{
*(m+i)=*(q+i-sum1);
}
}
*(m+sum1+sum2)='\0';
puts(m);
free(m);
}
return 0;
}
登录后发布评论
这题我用EOF判断显示编译错误,是不是gets读取的时候要用NULL呢
多组输入不能用NULL判断,用EOF判断
可以看一下书上1.9节