
程序算法没有一点错误,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';
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)