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<stdio.h>
#include<stdlib.h>
void main()
{
char a[20],b[20]; //创建两个字符串数组,大小可以自定,但要大于20
int n=0,m=0,i,j;
do
{
scanf("%c",&a[n]);
n++;
}
while(a[n-1]!='\n'); //输入第一个数组
n=n-1; //将n重新赋值,为第一个数组的最后一个元素(\0)标志
do
{
scanf("%c",&b[m]);
m++;
}
while(b[m-1]!='\n'); //输入第二个数组
b[m-1]='\0'; //第二个数组的结束标志
for(i=n,j=0;j<=m-1;i++,j++)
{
a[i]=b[j];
} //将第二个字符数组的内容连接到第一个字符数组的末尾
printf("%s\n",a);
system("pause");
}

已测,无误。

/*
I love my friends!
Press any key to continue
*/
#include <stdio.h>
char *StrCat(char strDest[], char strSrc[]) {
int i = 0,j = 0;
while(strDest[i]) ++i;
while(strDest[i++] = strSrc[j++]);
return strDest;
}

int main() {
char s[30] = "I love my ";
char t[] = "friends!";
printf("%s\n",StrCat(s,t));
return 0;
}

#include<stdio.h>
int main()
{char s1[40],s2[20];
int i,j;
gets(s1);
gets(s2);
for(i=0;s1[i];i++);
for(j=0;s2[j];j++)
s1[i++]=s2[j];
s1[i]='\0';
puts(s1);
return 0;

}


用c语言编程:编写一个程序,输入4个数,求其平均值
首先,确保你的程序中包含main()函数,这是C语言程序的基本结构。在main()函数内部,你需要声明和初始化四个变量来存储用户的输入,然后通过scanf()函数读取这些输入。c intnum1,num2,num3,num4;接下来,使用加法运算符将这四个数相加,再除以4得到平均值。计算过程中,记得使用浮点数类型以确保结果...

编写c语言程序,输入两个整数,输出包含他们在内及他们之间的奇数及个数...
要编写一个C语言程序,实现输入两个整数并输出它们之间以及包含它们的所有奇数及其个数,首先,打开DEVC++软件,新建一个源代码文件。在程序中,关键在于处理整数输入和输出,以及利用if-else语句进行奇数的判断。在程序开始,定义输入的两个整数变量,确保它们的类型为整数,对应输出函数中的“%d”。然后,...

编写C语言程序,输入abc3个值,输出其中最大值
要编写一个C语言程序,以输入三个数值a、b和c,然后找出并输出其中的最大值,可以采用嵌套if语句的逻辑。程序的主要步骤如下:首先,从用户那里获取a、b和c的值,然后设定一个默认的最大值为a。接下来,通过嵌套if语句进行比较:首先,比较a和b,如果b大于a,则将b赋值给max。然后,再比较max(即...

c语言编写程序输入两个整数,计算两数之和
使用C语言编写程序:计算两个整数之和在C语言中,编写一个简单的程序来求两个整数的和,首先需要了解基本的语法和步骤。下面是一个简化的示例:1.定义变量:在`main()`函数中,声明三个变量`inta,b,sum;`,分别用于存储两个整数和它们的和。2.输入数据:使用`printf()`函数提示用户输入两个整数,然...

c语言程序,输出100以内能被3整除且个位数为6的所有整数
结论:本文介绍了如何使用C语言编写程序,输出100以内能被3整除且个位数为6的所有整数。程序通过定义一个整型变量x和循环变量i,利用for循环遍历1到100的范围,将个位数为6的数提取出来,并通过if条件判断是否能被3整除,如果满足条件则打印输出。以下是程序的源代码和运行结果:源程序如下:include int ...

c语言程序输入一个小写字母,输出它的大写字母和与其大写字母相邻的两个...
当需要在C语言程序中实现输入一个小写字母,然后输出其大写字母以及与其相邻的两个字母的功能时,首先需要理解几个关键步骤和函数的用法。首先,使用scanf_s("%c",a)函数获取用户的输入,注意在%c前添加空格,以过滤掉可能存在的空白字符。这行代码的作用是将用户输入的小写字母存储到变量a中。程序的...

用C语言编一程序,输出200~300之间的全部素数,求解啊
要使用C语言编写程序,输出200至300之间的所有素数,可以参考以下代码片段。这个程序通过一个名为"HaveFun"的函数实现,利用双重循环来检查每个数是否为素数,如果找到素数,则将其累加到变量Sum中。主函数中调用这个函数,并输出结果。c#includeusingnamespacestd;intHaveFun(){intSum=0;for(intvar=200;...

编写一个c语言程序,实现录入学生学号和姓名信息的功能
以下是改写后的C语言程序,实现录入学生学号和姓名信息的功能:编写C语言程序,录入学生学号和姓名信息以下代码展示了如何创建一个简单的C程序,用于输入学生的基本信息,包括学号和姓名:include#includeintmain(void){charname[10];\/\/存储姓名intnumber;\/\/存储学号printf("请输入姓名:\\n");fgets(name,...

C语言编程输入一个字母,输出它的后继字母。如输入‘a’,则输出‘b...
当需要在C语言中编写一个程序,让用户输入一个字母并输出其后继字母,可以参考以下的源代码片段。这个程序首先会提示用户输入一个字符,然后检查输入是否为字母。如果是字母,程序会进一步区分小写字母和大写字母,以提供正确的后继。以下是详细的代码结构:在C语言中,实现一个简单的程序来处理这样的需求,...

c语言中编写程序,输入2个数,定义四个函数,分别实现加减乘除四则运算...
在C语言编程中,要实现对两个输入数进行加减乘除的四则运算,并使用函数进行操作,需要注意除法时的特殊处理。首先,我们需要创建四个独立的函数,分别对应加、减、乘、除这四种运算。以下是如何实现这一过程的步骤:1、定义一个基础函数,例如`doublecalculate(doublex,doubley,charoperation)`,它接受两...

邯郸市15345604382: C语言编写一个程序输入两个字符串1和字符串2(两个字符串长度不超过20),把字符串2连接到字符串1后面,并输出 -
游启劲朗: 说白了就是strcatchar *strcat(char *strDest, const char *strSrc) //将源字符串加const,表明其为输入参数{char *address = strDest; //该语句若放在assert之后,编译出错assert((strDest != NULL) && (strSrc != NULL)); //对源地址和目的...

邯郸市15345604382: 用C语言编写程序,从键盘输入两个字符串,输出第一个字符串在第二个字符串中的位置 -
游启劲朗: #include#include main() { char s1[256],s2[256]; char *ptr; char *ptr1; scanf("%s",s1); scanf("%s",s2); ptr1=s1; ptr=strstr(s1,s2); if(ptr) printf("yes\n"); }

邯郸市15345604382: c语言程序 输入两个字符串 要求连续输出 必须用函数解决 帮忙看下我的那里出错__ -
游启劲朗: #include void f(char str1[],char str2[]) {char a[110]={'\0'};strcat(a,str1);strcat(a,str2);puts(a); } void main() {char str1[50],str2[50],*p;printf("请输入第 1 字符串:");gets(str1);printf("请输入第 2 字符串:");gets(str2);printf("连...

邯郸市15345604382: 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); }

邯郸市15345604382: 用c语言编写一个将两个字符串连接起来函数两个字符串由主函数输入, 连接后的字符串也由主函数输出. -
游启劲朗: #include<stdio.h> 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(...

邯郸市15345604382: 请用C语言编写一个程序,从键盘上输入任意2个单词,要求将两个字符串连接起来并在屏幕上输出,不要使用strcat函数.例如原来输入China和Hunan,连接后的字符串为ChinaHunan.急求谢谢! -
游启劲朗: #include<stdio.h> char *fun1(char *s,char *t) { char *s1=s; while(*s)s++; while(*t)*s++=*t++; *s=0; return s1; } void main() { char s[100],t[100]; printf("输入字符串:"); gets(s); printf("输入字符串:"); gets(t); printf("%s\n",fun1(s,t)); }

邯郸市15345604382: 用c语言编写一个程序:两个字符串a、b,将a中所有b中含有的字符删除. -
游启劲朗: #include 展开全部#include #define N 40 void fun(char s[],int c) { int i=0; char*p; p=s; while(*p) { if(*p!=c) { s[i]=*p; i++; } p++; } s[i]='\0'; } main() { char stra[N],strb[N]; int i; printf("请输入原始字符串a: "); gets(stra); printf("请输入删除字符串b: ...

邯郸市15345604382: c程序设计:输入两个字符串,不是用strcat,实现两个字符串的链接
游启劲朗: main( ) { char s1[80],s2[40]; /*s2连接在s1后面,s1应足够大*/ int i=0,j=0; printf("\nInput string1:"); scanf("%s",s1); /*输入串s1*/ printf("Input string2:"); scanf("%s",s2); /*输入串s2*/ while(s1[i]!='\0') i++; /*i指向s1串末尾的'\0'处*/ while(...

邯郸市15345604382: 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--;...

邯郸市15345604382: C语言编程,输入两个字符串,比较他们的大小并输出比较结果 -
游启劲朗: 如果只是问个算法,我可以告诉你,但是如果是你要全部 ,那就不可以了,作业要自己做的啊! 如果你要用户输入2个字符串作比较的话 可以用“ ”来区分字符串1与字符串2 然后把2个字符串存到2个数组里去比 int i=1,j=1; char a[20],b[20] if (c=getchar()!=" ") then { a[i]=c; i++; } else { b[j]=c; j++; } 然后用for循环一个一个比他们的大小就可以了,如果有一个大了就return 大的值,如果遇到一个数组为空了,也return 另外一个字符串就好了. 其它的要你自己想了,如果全告你,那你也还是什么也学不会,算法告你了就可以了.给不给分你自己看着办吧

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