C语言编程:输入2个字符串,将其连接后输出.

作者&投稿:歹欣 (若有异议请与网页底部的电邮联系)
C语言编写一个程序输入两个字符串1和字符串2(两个字符串长度不超过20),把字符串2连接到字符串1后面,并输出~

 说白了就是strcat


char *strcat(char *strDest, const char *strSrc) //将源字符串加const,表明其为输入参数

  {

  char *address = strDest; //该语句若放在assert之后,编译出错

  assert((strDest != NULL) && (strSrc != NULL)); //对源地址和目的地址加非0断言

  while(*strDest) //是while(*strDest!=’\0’)的简化形式

  { //若使用while(*strDest++),则会出错,因为循环结束后strDest还会执行一次++,那么strDest

  strDest++; //将指向'\0'的下一个位置。/所以要在循环体内++;因为要是*strDest最后指

  } //向该字符串的结束标志’\0’。

  while(*strDest++ = *strSrc++)

  {  
*p++等价于*(p++)。至于为什么会等价呢?根据c语言的优先级。*与++的优先级同处在第二级别上。他们的优先级是一样的,又因为处在第二级别的优先级运算符是结合方向是从右到左,所以当出现*p++这样的表达式的时候,根据优先级别相同,并且结合方向是从右到左,所以就等价于*(p++)了。那么也就是,先将p指针移动到下个p指针所指向元素的地址的下一个地址,然后再对那个地址取值。(*p)++是取p所指向地址的值,然后再将这个值+1
  NULL; //该循环条件内可以用++,

  } //此处可以加语句*strDest=’\0’;无必要

#include
void main()
{
char c,str[10][100];
int s,max,k;
int i,n;
max=0;
for(i=0;i<10;i++)
{
s=0;
n=0;
while((c=getchar())!='
')
{
str[i][n++]=c;
s+=(int)c;
}
str[i][n]='\0';
if(max<s)
{
max=s;
k=i;
}
}
printf("The Max Is:
%s
",str[k]);
}
望采纳

思路:两个字符串的拼接可以使用strcat函数。

strcat函数原型: char *strcat(char *s1,char *s2);

需要引入头文件:#include <string.h>  

功能:把s2所指字符串添加到s1结尾处并添加'\0'。

注意:s1必须有足够的空间来容纳s1和s2的字符串。

参考代码:

#include "stdio.h" 
#include "string.h" 
int main() {
char s1[200],s2[100];
gets(s1);
gets(s2);
strcat(s1,s2);
puts(s1); 
return 0;
}
/*
运行结果:
asfds
123423
asfds123423 
*/


直接用strcat函数就行了
#include<stdio.h>
int main()
{
char a[99],b[99]; //字符串长度可修改
gets(a);
gets(b);
printf("%s\n",strcat(a,b));
return 0;
}

#include<stdio.h>
char *my_strcat(char *target,const char *source)
{
char *original=target;
while(*original != '\0')
original++; // Find the end of the string
while(*source)
*original++=*source++;
*original='\0';
return(target);
}
int main()
{
char a[81],b[81];
gets(a);
gets(b);
my_strcat(a,b);
printf("a+b=%s\n",a);
return 0;
}


c语言:编程实现输入两个字符串,输出其中较小者
include "stdio.h"#include "string.h"void main(){ char a[100],b[100]; int comp; printf("Please input 2 string:\\n"); scanf("%s%s",a,b); comp=strcmp(a,b); if(comp>0) printf("The bigger is %s\\n",a); else if(comp<0) printf("The bi...

c语言编程题编写一个c程序,要求从键盘输入两个数,并依据提示输入的数字...
include "stdio.h"\/\/ void main(void){ int a,b,c;printf("请输入两个十进制整数!\\na=");scanf("%d",&a);printf("b=");scanf("%d",&b);printf("请输入运算符(1加法;2乘法;3除法):\\n运算符:");for(;;){ scanf("%d",&c);if(c==1){ printf("a+b=%d\\n",a+b);break...

请高手解答C语言 输入两个数,求两个数之和。
include<stdio.h> int main(){ double a,b;scanf("%lf%lf",&a,&b);a+=b;printf("%.4f\\n",a);return 0;} C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为...

C语言编程,使用Input(), sum(), output()三个函数,编制可以输入两数...
楼主你好 具体代码如下:include<stdio.h> void input(int *a,int *b){ printf("输入两个整数:");scanf("%d %d",a,b);} int sum(int a,int b){ return a+b;} void output(int s){ printf("它们的和为:%d\\n",s);} int main(){ int a,b;input(&a,&b);output(sum(a,b)...

C语言编程题:输入两个整数,计算并用浮点数显示其和,差以及相除的结果...
include <stdio.h> include <stdlib.h> int main (){ int a,b;printf ("input 2 int data: ");scanf ("%d %d",&a,&b);printf("\\n");printf("%d + %d = %f\\n",a,b, (float)(a+b));printf("%d - %d = %f\\n",a,b, (float)(a-b));\/\/ printf("%d * %d = %f\\...

C语言编程:使输入两个数,交换他们的值并输出。 是否可以这样编写_百度...
C语言编程:使输入两个数,交换他们的值并输出。include<stdio.h> int main (){int m,n,temp;scanf("%d%d",&m,&n);temp=m;m=n;n=temp;printf("%d%d",m,n);return 0;}

C语言编程题:先后输入两个数字字符,使其拼成一个数字,且输入的第一个...
include <stdio.h> void main(int argc, char ** argv) { char c1, c2;int x;c1 = getchar();c2 = getchar();printf("%c%c\\n", c2, c1); \/\/ 如只是简单输出 x = (c1 - '0') + (c2 - '0') * 10; \/\/ 转换成数值 printf("%d\\n", x); \/\/ 输出数值 } ...

用C语言编程,从键盘上输入2个整数及一个运算符(+、-、*、\/)进行相应...
就是在进行除法运算时用 s=(a*1.0)\/b; \/\/int a,b; double s;

C语言编程! 问1:输入2个整数,计算并输出它们的和、差、积、商。(输入...
没事做,帮你写一下吧 include<stdio.h> int main(){ int a,b;printf("请输入两个整数:\\n");scanf("%d%d",&a,&b);printf("和:%d\\n差:%d\\n积:%d\\n商:%d\\n",a+b,a-b,a*b,a\/b);return 0;}

C语言编程 求解 输入两个大整数(大于100位),求它们之和
include<stdio.h>#include<string.h>#include<stdlib.h>void RightMoving(char *s,int n){char *p=s,*q;while(*p++!='\\0');for(q=p;q!=s;q--)*(q-1+n) = *(q-1);for(int i=0;i<n;++i)s[i] = '0';}int LargerIntegerAdd(char *result,char *n1,char *n2){int ...

阿拉善右旗18998166082: C语言编程:输入2个字符串,将其连接后输出. -
字尚异舒: 思路:两个字符串的拼接可以使用strcat函数. strcat函数原型: char *strcat(char *s1,char *s2); 需要引入头文件:#include <string.h> 功能:把s2所指字符串添加到s1结尾处并添加'\0'. 注意:s1必须有足够的空间来容纳s1和s2的字符串. 参...

阿拉善右旗18998166082: 用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);

阿拉善右旗18998166082: 用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];...

阿拉善右旗18998166082: 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); }

阿拉善右旗18998166082: C语言问题 编写一程序将两个字符串连起来 -
字尚异舒: 一、用strcat函数: #include "stdio.h" #include "string.h" int main(int argc,char *argv[]){char a[100]="abcdefg",b[]="1234567";printf("%s\n",strcat(a,b));return 0; }二、不用strcat函数: #include "stdio.h" int main(int argc,char *...

阿拉善右旗18998166082: C语言编程:编一程序,将两个字符串联接起来,不要用Strcat函数. -
字尚异舒: 思路:输入两个字符串a和b,首先找到第一个字符串a的结束位置,接着把b的所有元素放到a的末尾,最后加上结束标志. 参考代码: #include<stdio.h> void mystrcat(char a[],char b[]){int i=0,j=0;while(a[i++]!='\0');//找到a的结束位置i--;...

阿拉善右旗18998166082: 用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); }

阿拉善右旗18998166082: C语言编程:编写一个将两个字符串进行连接的函数. -
字尚异舒: #include void lianjie(char a[],char b[]); { strcat(a,b); printf("%s",a); } main() { char s[40],c[20]; printf("qing shuru 1 zifushuzu:\n"); gets(s); printf("qing shuru 2 zifushuzu:\n") gets(c); lianjie(s,c); }

阿拉善右旗18998166082: 用C语言:写一个函数,将两个字符串连接
字尚异舒: \);):",s1):如mtcat所说:编程实现strcat的功能 void main() { char s1[80];n",j=0.h>0'0',直接用strcat函数 方法二;stdio!=' while((s1[i++]=s2[j++]); gets(s2):%s\;input two strings!=' while(s1[i]; int i=0; gets(s1);result; printf(" 方法一;\) i++,s2[80]; puts("#include<

阿拉善右旗18998166082: 用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; }

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