C语言编程,将两个字符串连接起来,不用strcat()函数! 请问我的哪里错了??

#include "stdio.h"main()
{int i,j=0,a[20]={"very"},b[10]={"much"};
for(i=0;i<20;i++)
if(a[i]=='\0'&&b[j]!='\0')
{a[i]=b[j];
j++;
}
for(i=0;i<20;i++)
printf("%s",a[i]);
getch();
}

#include <stdio.h>

int main() {
int i = 0,j = 0;
char a[20] = "very ",b[] = "much";
while(a[i] != '\0') ++i; // i 计数到a[]的'\0'
while(a[i++] = b[j++]); // 复制b[]到a[]尾部,包含'\0'
printf("%s\n",a);
getchar();
return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-04-30
你这个代码不是链接,而是赋值了。

C语言编写一个程序,将两个字符串连接起来,不要使用strcat函数 求大神...
函数头我就不和你写了!int a[20],b[20],i=0,j=0;while(a[i]!='\\0'){ i++;} while(b[i]!='\\0'){ a[i++]=b[i++];} a[i]='\\0';printf("%s",a);就可以了!!

用c语言编写程序,将两个字符串连接起来,不要用strcat函数
include <stdio.h>#include <string.h>void strc(char c1[],char c2[]);void main(){char s1[30]="abc";char s2[30]="def";strc(s1,s2); \/\/请在后面补充strc函数的功能,完成两个字符串的连接puts(s1);}void strc(char c1[],char c2[]){ \/\/请填空,完成两个字符串的连接...

C语言:编一程序,将两个字符串连接起来。 要求:不允许使用strcat函数
include<stdio.h>#include<stdlib.h>\/*程序入口点函数*\/int main(){ int i,j; char str1[100],str2[100],str3[201]; gets(str1); gets(str2); for(i=0;str1[i]!='\\0';i++) str3[i]=str1[i]; for(j=0;str2[j]!='\\0';j++) str3[j+i]...

c语言:编写程序将两个字符连接起来,不使用strcat函数。
123 asd 123asdPress any key to continue include<stdio.h> void main(void){ char ch1[20],ch2[10];int i=0,k=0;gets(ch1);gets(ch2);while(ch1[i]!='\\0')i++;while(ch2[k]!='\\0') \/\/这里是k不是i ch1[i++]=ch2[k++];ch1[i]='\\0'; \/\/完毕加结束符 printf(...

将两个字符串连接起来 不要用strcat函数
可以用.或者+应该就可以

C语言不用strcat函数将两字符串连接起来中间“烫”的问题~
1 i+j刚好是结束符\\0的位置 把结束符覆盖掉就好了 否则后面的就不输出了 例子 4个字符“1234” 那么 长度是5 因为最后一个是结束符 0位是1 1 位是2 2位是3 3位是4 4位是\\0 懂了吗 2 那么多烫 是你没在最后加上str[i+i]='\\0';结束符 有问题请追问 满意记得...

C语言题目 将两个字符串连接起来不用strcat函数
strcat( char * dst , char* src ) 函数相当于 strcpy( dst+strlen(dst) , src)无论用哪一个,dst的串长都要设置大一点才行。例子;char dst[20]="hello " , src[]="world!!";strcat(dst,src);\/\/dst变成了hello world!!strcpy(dst+strlen(dst),src);\/\/即把src串复制到dst串的...

[C语言] 不用strcat()函数,将两个字符串连接起来,试完善一下程序!!!
include<stdio.h> include<stdlib.h> int main(){ char s1[80],s2[40];int i=0,j=0;printf("Enter s1:");\/\/改成用gets函数 \/\/因为如果输入的字符串中间或末尾包含空格 \/\/用scanf函数会造成输入不正确 gets(s1);printf("Enter s2:");gets(s2);while('\\0'!=s1[i]){ i++;} whi...

c语言题目 不用strcat 连接两个字符串s1 s2 for那句不懂
这因该是个错误表达式啊 印刷错误!改成s1[i]!='\\0'

不用strcat函数用C语言写实现字符串连接,以下是我写的程序,连接是做到...
连接后的字符串后边少了个'\\0',这导致你输入的时候后边出现乱码,因为程序不知道你字符串什么时候结束。你可以这样改:输出前加上 s1[t+1] = '\\0';

相似回答