#include <string.h>
int main(){
char a[80],b[20];
gets(a);
gets(b);
int i=0,j=0,alen;
for(;a[i]!='\0';i++);
alen=i;
for(i=alen;;i++){
a[i]=b[j];
j++;
if(b[j]='\0')break;
}
a[alen+j]='\0';
puts(a);
}
请大佬帮忙看一下哪里出错了,输入a,enter,再输入b,enter。。。然后再按enter就按不动了
3 个解决方案
#1
串接部分的代码试试:
while((a[i++]=b[j++])!=0);
会把末尾的'\0'也一起复制了。
while((a[i++]=b[j++])!=0);
会把末尾的'\0'也一起复制了。
#2
while后面的;号表示循环体为空语句。
#3
你的程序没问题,逻辑符号错了,应该是bj==0
#1
串接部分的代码试试:
while((a[i++]=b[j++])!=0);
会把末尾的'\0'也一起复制了。
while((a[i++]=b[j++])!=0);
会把末尾的'\0'也一起复制了。
#2
while后面的;号表示循环体为空语句。
#3
你的程序没问题,逻辑符号错了,应该是bj==0