C语言编程:输入2个字符串,将其连接后输出.
说白了就是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 ...
字尚异舒: 思路:两个字符串的拼接可以使用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; }