c语言编程将两个字符串连接起来

作者&投稿:莱璧 (若有异议请与网页底部的电邮联系)
c语言编程 要用指针把两个字符串连接起来, 我这么编的不知道哪错了。求指教,求正解。谢谢~

语法有错误,可以按照如下方法实现用指针把两个字符串连接起来:
1、第一步,创建一个新项目和.c文件,见下图,转到下面的步骤。



2、第二步,执行完上面的操作之后,定义变量类型,见下图的代码,转到下面的步骤。



3、第三步,执行完上面的操作之后,调用cpy函数,见下图的代码,转到下面的步骤。



4、第四步,执行完上面的操作之后,定义一个函数,了解并定义变量类型,见下图的代码,转到下面的步骤。



5、第五步,执行完上面的操作之后,使用For语句和if语句来进行判断,见下图的代码,转到下面的步骤。




6、第六步,执行完上面的操作之后,添加一个字符串终止符,并将其输出到main函数中,见下图的标记的代码,转到下面的步骤。




7、第七步,执行完上面的操作之后,执行并得出结果,两个字符串连接起来了,见下图。这样,就解决了这个问题了。



1、新建一个工程和.c文件,输入头文件和主函数。

2、定义变量类型。

3、调用cpy函数。

4、定义一个函数,并定义变量类型。

5、用一个For 语句和if语句判断是否为元音。

6、最后加一个字符串结束符,并在主函数中输出。

7、编译。运行。

// void fun(char p1[], char p2[]) 的最后一行
p2[j]='\0';
// 改为:
p1[n]='\0';

 

#include <stdio.h>
void fun(char p1[], char p2[])
{
int i=0,j=0,n=0;
while(p1[i]!=0)
{
i++;
n++;
}
while(p2[j]!=0)
{
p1[n]=p2[j];
n++;
j++;
}
p1[n]='\0';
}
main()
{char s1[80], s2[40] ;void NONO ();
     printf("Enter s1 and s2:
");
     scanf("%s%s", s1, s2);
     printf("s1=%s
", s1);
     printf("s2=%s
", s2);
     printf("Invoke fun(s1,s2):
");
     fun(s1, s2);
     printf("After invoking:
");
     printf("%s
", s1);
     //NONO();
}


void fun(char p1[], char p2[])函数倒数第二行错误
将p2[j]='\0';改为p2[i+j]='\0';

推荐我写的一种将两个字符串连接在一起的函数
#include <assert.h>
void fun(char *p1, char *p2)
{
assert(p1 != NULL); //断言p1不为空
assert(p2 != NULL); //断言p2不为空
while(*p1 != NULL)
p1++;
while((*p1++ = *p2++) != NULL)
;
}
希望对你有所帮助!

将while(p1[i]!=0)改为while(p1[i]!=’\0‘)
将while(p2[j]!=0)改为while(p2[j]!='\0')


用C语言编程:编写一个函数,将两个字符串连接起来
1、新建一个工程和.c文件,输入头文件和主函数。2、定义变量类型。3、调用cpy函数。4、定义一个函数,并定义变量类型。5、用一个For 语句和if语句判断是否为元音。6、最后加一个字符串结束符,并在主函数中输出。7、编译。运行。

用C语言编程,输入两个字符串,将这两个字符串连在一起。
char *write;find=str1;write=str2;scanf("%s%s",str1,str2);for(;*(++find););for(;*find++=*write++;);printf("%s",str1);

c语言编程将两个字符串连接起来
\/\/ void fun(char p1[], char p2[]) 的最后一行p2[j]='\\0';\/\/ 改为:p1[n]='\\0';include <stdio.h>void fun(char p1[], char p2[]){int i=0,j=0,n=0;while(p1[i]!=0){i++;n++;}while(p2[j]!=0){p1[n]=p2[j];n++;j++;}p1[n]='\\0';}main(){char s1...

c语言编程: 将两个字符串合并成一个字符串
int main(void){ char string[20]="12345";char *str1 = "abcdefghi";strncpy(string+5, str1, 9);string[14] = '\\0';printf("%s\\n", string);getch();return 0;} 注意string的大小一定足够放下第二个字符串

编写一个程序,将两个字符串连接起来,并输出(不要使用strcat函数)。用C...
include<stdio.h> void main(){ char s1[80],s2[40];int i=0,j=0;printf("\\ninput stringl:");scanf("%s",s1);printf("input string2:");scanf("%s",s2);while(s1[i]!='\\0')i++;while(s2[j]!='\\0')s1[i++]=s2[j++];s1[i]='\\0';printf("The new string is:%s...

c语言编程:输入两个字符串str1,str2 ,将两个字符串交叉 得到第三个字...
include <stdio.h>void str_add(char* a,char* b){int i=0;while(a[i] && b[i]) {printf("%c%c", a[i],b[i]);i++;}if(a[i]) printf("%s\\n", a+i);if(b[i]) printf("%s\\n", b+i);}int main(){str_add("abcd", "ABCDEFG");str_add("ABCDEFG","abcd")...

两个字符串首尾拼接使用什么运算符
两个字符串首尾拼接在大多数编程语言中通常使用加号(+)或专门的字符串连接函数作为运算符。当我们谈论字符串拼接时,我们指的是将两个或多个字符串组合成一个新的字符串。在多数编程语言中,比如Python、JavaScript以及Java等,字符串的拼接可以通过使用加号(+)来实现。这个运算符在这些语境下被重载,...

C语言问题 编写一程序将两个字符串连起来
include <stdio.h>#include <string.h>int main (){ char str1[10],str2[5],*p,i;\/\/这里用str1接收拼接后的字符串,确保str1大小够放!! 注意要留1位保存结束符'\\0' strcpy(str1,"abcd");strcpy(str2,"efgh"); printf("原字符串分别为:%s %s\\n\\n",str1,str2);...

c语言编程题:定义函数con()将两个字符串连接,主函数输入两个字符串,调...
include <stdio.h> void con(char*s1,char*s2){int i,j;for(i=0;s1[i];i++);for(j=0;s1[i++]=s2[j++];);} int main(){ char s1[200],s2[100];gets(s1);gets(s2);con(s1,s2);puts(s1);return 0;}

C++知识:编写程序将两个按照字母顺序排列的任意字符串进行合并...
\/*C++知识:编写程序将两个按照字母顺序排列的任意字符串进行合并,合并后的字符串依然按照字母顺序排列,如achk和bfg合并后应为abcfghk。 *\/#include <fstream>#include <iostream>using namespace std;int gl(char*c){int i=1;while(c[i-1]!=0)i++;return i-1;}char *ht(char c[2][5] ){ int ...

元谋县15542853805: 用C语言怎么将两个字符串连接起来? -
兆昭骨康: 这些是宏的功能. #是将一个参数转换为字符串.##可以连接字符串比如这样: #include <stdio.h> #define STR(a,b) a##b int main() { printf("%s\n",STR("123","456")); return 0; }

元谋县15542853805: C语言:将两个字符串连接起来. -
兆昭骨康: 原发布者:hxk古月#define_CRT_SECURE_NO_WARNINGS#include#include#includevoidmystrcat(char*p,char*q){char*pp=p;while(*pp!='\0'){pp++;}*pp='';while(*q!='\0'){*(++pp)=*(q++);}*(++pp)='\0';}voidmain(){charstr[30]="tracert";charweb[50];...

元谋县15542853805: C语言中 怎么连接两个字符串? -
兆昭骨康: 注意,下面这句 i++ ,如果a数组中取出的 不是 '\0' (结束符)的话, i 加 1 了 , while(a[i]!='\0') i++; // 所以 下面这句执行 时, i 应该 是 10 (左右),就是 hello word 结束后 while(b[j]!='\0') 所以不会覆盖 a 数组中原有数据

元谋县15542853805: C语言中如何将两个字符串加在一起 -
兆昭骨康: 可以文件中的strcat函数 char *a="123"; char *b = "abc"; strcat(a,b)即可,更多的字符串操作可以看一下string.h头文件中 有好多封好的, 如果不想用的话就可以自己写一个函数 函数内容:1.获取两个字符串的总长度,如total_len=len1+len2然后申请一个动态的数组大小为total_len 然后把字符串中的内容依次放进去就可以了.

元谋县15542853805: 用C语言写出一函数,将两个字符串连接,该怎么写 -
兆昭骨康: void concat(char *s1, int size1, char *s2, int size2, char *sout) {int i;for (i = 0; i < size1; ++i)sout[i] = s1[i];for (i = 0; i < size2; ++i)sout[i + size1] = s2[i];sout[i] = '\0'; } 示例使用方法: char *s1 = "ABCD"; char *s2 = "12345"; char sout[100];...

元谋县15542853805: c语言编写一个程序:实现两个字符串的连接谢谢了,大神帮忙啊 -
兆昭骨康: #includevoid main() { char *p1,*p2,s1[100],s2[100]; printf("输入字源符zhidao串1:"); scanf("%s",s1); printf("输入字符串2:"); scanf("%s",s2); for(p1=s1;*p1;p1++); for(p2=s2;*p2;*p1++=*p2++); *p1='\0'; printf("连接后的字符串:%s",s1); }

元谋县15542853805: 用C语言编程,输入两个字符串,将这两个字符串连在一起. -
兆昭骨康: char str1[50],str2[50]; char *find; char *write; find=str1; write=str2; scanf("%s%s",str1,str2); for(;*(++find);); for(;*find++=*write++;); printf("%s",str1);

元谋县15542853805: 用C语言写一个函数,将两个字符串连接. -
兆昭骨康: #include<stdio.h> 方法一:如mtcat所说,直接用strcat函数 方法二:编程实现strcat的功能 void main() { char s1[80],s2[80]; int i=0,j=0; puts("input two strings:"); gets(s1); gets(s2); while(s1[i]!='\0') i++; while((s1[i++]=s2[j++])!='\0'); printf("result:%s\n",s1); }

元谋县15542853805: 在C语言编程中,如何利用调用函数来把两个字符串连接起来? -
兆昭骨康: strcat(a,b)把字符串b连到字符串a后面 举例; strcat("wo","niu");//输出woniu

元谋县15542853805: 用C语言编程:编写一个函数,将两个字符串连接起来 -
兆昭骨康: 1234567891011121314 #include "stdio.h" char*mycat(char*a,char*b){ char*aa=a; if(a==NULL || b==NULL) returnNULL; while(*a) a++; while(*a++=*b++); returnaa; } intmain(void){ chars1[100]="12345",s2[]="abcdefghijkl"; printf("%s\n",mycat(s1,s2)); return0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网