编一个程序,将两个字符串连接起来不用strcat函数

时间:2021-12-02 04:22:38
#include<stdio.h>
#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'也一起复制了。

#2


while后面的;号表示循环体为空语句。

#3


你的程序没问题,逻辑符号错了,应该是bj==0

#1


串接部分的代码试试:
while((a[i++]=b[j++])!=0); 
会把末尾的'\0'也一起复制了。

#2


while后面的;号表示循环体为空语句。

#3


你的程序没问题,逻辑符号错了,应该是bj==0