编写一个函数,连接两个字符串

编写一个函数,连接两个字符串,第1张

程序算法没有一点错误,string[i+j]=string2[j]是正确的。

不知道是你写错了还是怎么的,把"}"的位置放错了吧:

考虑到交互性,改了一下下:

#include<stdioh>

void main()

{

void concatenate(char string1[],char string2[],char string[]);

char s1[20],s2[20],s[20];

printf("Input string1:");//增加

scanf("%s",s1);

printf("Input string2:");//增加

scanf("%s",s2);

concatenate(s1,s2,s);

printf("Result:%s\n",s); //修改

getch();//增加

}//错误所在,修改

void concatenate(char string1[],char string2[],char string[])

{

int i,j;

for(i=0;string1[i]!='\0';i++)

string[i]=string1[i];

for(j=0;string2[j]!='\0';j++)

string[i+j]=string2[j];

string[i+j]='\0';

}

void fun (char s1[],char s2[]){

int i,j;

for (i=0;s1[i] !=’\0’; i++); /求出的i为pA字符的总长度,包括结束标记位/

for (j=0;s2[j] !=’\0’; j++)

s1[i++]=s2[j]; /将pB字符串连在pA字符串的后面/

s1[i]='\0’; /在字符串最后加上结束标记符/

}

扩展资料:

最常用的字符串函数

字符串输出函数puts格式:puts (字符数组名) 功能:把字符数组中的字符串输出到显示器。

2字符串输入函数gets格式:gets (字符数组名) 功能:从标准输入设备键盘上输入一个字符串。本函数得到一个函数值,即为该字符数组的首地址。

3字符串连接函数strcat格式:strcat (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“”。

4字符串拷贝函数strcpy格式:strcpy (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志“”也一同拷贝。

5字符串比较函数strcmp格式:strcmp(字符数组名1,字符数组名2) 功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。

6测字符串长度函数strlen格式:strlen(字符数组名) 功能:测字符串的实际长度(不含字符串结束标志‘’) 并作为函数返回值。

参考资料:

-数组

#include <stdioh>

void strcpy(char s1, char s2)

{

if(s1==NULL || s2==NULL) return;

while(s2 != '\0') s1 ++ = s2++;

s1 = '\0';

}

void strcat(char s1, char s2)

{

if(s1==NULL || s2==NULL) return;

while(s1 != '\0') s1 ++;

while(s2 != '\0') s1 ++ = s2++;

s1 = '\0';

}

int main(void)

{

char s1[100] = "abcd";

char s2[100] = "1234";

char s3[100] = "UVWXYZ";

strcat(s1, s2);

strcpy(s2, s3);

printf("%s\n", s1);

printf("%s\n", s2);

return 0;

}

#include<stdioh>

void main()

{

void con(char sting1[],char sting2[],char sting3[]);

char s1[20],s2[20],s3[40];

printf("Input sting1: ");

scanf("%s",s1);

printf("Input sting2: ");

scanf("%s",s2);

con(s1,s2,s3);

printf("%s\n",s3);

}

void con(char sting1[],char sting2[],char sting3[])

{

int i,j;

for(i=0;sting1[i]!='\0';i++)//////////////////////////多个分号

sting3[i]=sting1[i];

for(j=0;sting2[j]!='\0';j++)//////////////////////////多个分号

sting3[i+j]=sting2[j];

sting3[i+j]='\0';

}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/13494057.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存