C语言填空题,下列程序中,函数alinkb的功能是把b字符串连接到a字符串的后面,并返回a中新串的长度。

#include<stdio.h>
alinkb(char a[],char b[])
{
int i=0,j=0;
while( a[i]!= ) i++;
while(b[j]!= '\0'){ a[i]=b[j] ; i++ ;j++;}
;
return ( i ) ;
}
int main()
{
char a[20]="hoe do",b[]="you do!";
printf("%s,%d",a,alinkb(a,b));
return 0;
}

#include <stdio.h>
#include <stdlib.h>
int alinkb(char a[], char b[]);
int alinkb(char a[], char b[]){
    int i=0;
    int j=0;
    while(a[i]!='\0'){
        i++;
    }
    while(b[j]!='\0'){
        a[i]=b[j];
        i++;
        j++;
    }
    return i;
}
int main()
{
    char a[20]="hoe do";
    char b[]="you do!";
    printf("%s,%d",a,alinkb(a,b));
    return 0;
}

输出如下

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-09
#include<stdio.h>
int alinkb(char a[],char b[]) { int i=0,j=0;
  while( a[i]!=0 ) i++; 
  while ( b[j]!='\0' ) { a[i]=b[j]; i++ ;j++; }
  a[i]=0;
  return ( i ) ;
}
int main() { char a[20]="hoe do",b[]="you do!"; 
  printf("%s,%d",a,alinkb(a,b));
  return 0;
}

本回答被提问者采纳
第2个回答  2019-02-08

第一反应的答案:hoe do 13

但是这个程序上机测编译不通过啊:

第3个回答  2019-02-08
第一处,填'\0'。
即while(a[i]!=_____'\0'_____)i++;
第二处,填a[i]='\0'。
即___a[i]='\0'___;
OK?
相似回答