C语言,不用strcat,设计一个函数,将两个字符数组连接起来(要用指针的办法)#includestdio.h
void lian(char *a,char *b);
void main()
{
char str1[]="hello";
char str2[]="girl";
char *p1=str1,*p2=str2;
lian(p1,p2);
printf("str1 str2:%s\n",p1);
}
void lian(char *a,char *b)
{int i=0;
int j=0;
while(* (a i)!='\0')
{i;}
for(;* (b j)!='\0';i,j)
{* (a i)=* (b j);
* (a i 1)='\0';
}
}
你应该改这样,不过你样会有内存泄露
最好把char *p1=str1,*p2=str2;改为
char *p2=str2;
char p1[100];//给他足够大的空间
strcpy(p1,str1);//把str1赋给p1的指向,还有要加上string.h这个头文件
编写一个程序,将两个字符串连接起来,并输出(不要使用strcat函数) 。用C语言求解详细过程 。#includestdio.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\n",s1);
}
扩展资料:
main函数用法
1、C中的main函数
C继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,但是要注意,C中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围 ,
不能写成某个结构体或某个类的成员 。虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能 。
C中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C程序同样只能有一个全局main函数 。
2、Java中的main函数
Java同样是以main函数作为程序执行出入口的,但Java作为“更纯洁”的面向对象语言,它的main函数与C/C有很大的不同 。
首先,返回值的概念淡化,在Java Application中main不允许返回值,因此int main是被禁止的,必须使用void main,int main仅限在JavaBean中使用 。
其次 , Java中所有的函数必须属于类 , 没有什么全局函数一说,因此main函数不能是全局成员 , 必须是某个类的成员 。
第三,由于main函数变成了类的成员函数,因此要想直接被系统调用,还必须使用public static使其成为静态函数并具有公开权限 。
第四,main函数的参数被简化,只需要提供字符串数组即可,不需要提供参数个数(这是由于Java的数组具有下标检查功能的原因)
【c语言连接字符串不用函数 c语言字符串连接运算符】Java Application中的main函数一般格式如下(类名可以自定义,但保存为Java源码时 , 主文件名必须与类名相同,否则可能无法运行)
public class MainDemo{
public static void main(String[]args){
//TODO:在此处写入主函数的内容
}
}
Java Applet的运行机制与Java Application完全不同 , 因此不需要main函数
3、C#中的main函数
C#中的main函数与Java大同小异 , 同样必须是类成员 , 同样使用字符串数组作唯一参数,同样是静态函数,同样的void main,
与之不同的是:main的首字母变成了大写,即"Main函数“,且是否限定为public级别已经无所谓了(默认没有public,但某些场合可能还是需要public)
另外,需要注意的是,C#中不再有”类名必须与主文件名同名“的限制,即使类名不和主文件名相同,程序照样可以运行 。
C#应用程序中的main函数默认是这样的(注意main的首字母已是大写)
C#和C/C、java不同的是C#不在拘泥于必须从main()函数开始执行,C#是属于事件触发 。
class Program{
static void Main(string[]args){
C语言编写一个程序,将两个字符串连接起来,不要使用strcat函数函数头c语言连接字符串不用函数我就不和你写了!
int a[20],b[20],i=0,j=0;
while(a[i]!='\0')
{
i;
}
while(b[i]!='\0')
{
a[i]=b[i];
}
a[i]='\0';
printf("%s",a)c语言连接字符串不用函数;
就可以了?。?
C语言程序设计:字符串处理操作 。条件:(不使用系统库函数)编写函数实现对字符串进行常用操作处理,包括# includestdio.h
void main()
{ void lianjie(char s3[],char s2[]);
void kaobei(char s4[],char s2[]);
void bijiao(char s1[],char s2[]);
void changdu(char s1[],char s2[]);
void paixu(char s1[],char s2[]);
void chazhao(char s1[],char s2[],char a);
int i=0;
char str1[10],str2[10],str3[40],str4[40],a;
printf("输入要查找的字符字符\n");
a=getchar();
printf("输入两个字符串\n");
scanf("%s%s",str1,str2);//输入两个字符与被查找的字符
for(i=0;i11;i)
str3[i]=str1[i];
str3[i]='\0';
lianjie(str3,str2);//调用连接函数
/* for(i=0;i11;i)
{str4[i]=str1[i];}*/
kaobei(str4,str2);//调用拷贝函数
bijiao(str1,str2);//调用比较函数
changdu(str1,str2);//调用长度函数
paixu(str1,str2);//调用排序函数
chazhao(str1,str2,a);//调用查找函数
}
void lianjie(char s3[],char s2[])//连接函数
{int i=0,j=0;
while(s3[i]!='\0') i;
while(s2[j]!='\0')
{
s3[i]=s2[j];
i;
j;
}
s3[i]='\0';
printf("连接后的字符串为:%s;\n",s3);}
void kaobei(char s4[],char s2[])//拷贝函数
{int i=0;
for(i=0;i11;i)
s4[i]=s2[i];
s4[i]='\0';
printf("拷贝的结果为%s;\n",s4);
}
void bijiao(char s1[],char s2[])//比较函数
{int i=0;
while(s1[i]==s2[i]s1[i]!='\0')
i;
if(s1[i]==s2[i])
printf("两个字符串相等;\n");
else if(s1[i]s2[i])
printf("第一个字符串大;\n");
else
printf("第二个字符串大;\n");
}
void changdu(char s1[],char s2[])//长度函数
{int i=0,j=0;
while(s1[i]!='\0')
i;
printf("第一个字符串的长度为:%d;",i);
while(s2[j]!='\0')
j;
printf("第二个字符串的长度为:%d\n",j);
}
void paixu(char s1[],char s2[])//排序函数
{int i=0,j=0,n=0,m=0;
char t;
while(s1[n]!='\0')
n;
for(i=0;in-1;i)
for(j=0;jn-1;j)
if(s1[j]s1[j 1])
{t=s1[j];s1[j]=s1[j 1];s1[j 1]=t;}
printf("第一个字符串排序结果为:");
for(i=0;in;i)
printf( "%c;",s1[i]);
while(s2[m]!='\0')
m;
for(i=0;im-1;i)
for(j=0;jm-1;j)
if(s2[j]s2[j 1])
{t=s2[j];s2[j]=s2[j 1];s2[j 1]=t;}
printf("第二个字符串排序结果为:");
for(i=0;im;i)
printf( "%c",s2[i]);
printf("\n");
}
void chazhao(char s1[],char s2[],char a)//查找函数
{int i=0,j=0;
while(s1[i]!='\0')
i;
for( j=0;ji;j)
{
if(s1[j]!=a) ;
else
break;}
if(ji)printf("第一个字符串有字符 %c;",a);
else
printf("第一个字符没有字符%c;",a);
i=0;j=0;
while(s2[i]!='\0')
i;
for( j=0;ji;j)
{
if(s2[j]!=a) ;
else
break;}
if(ji)printf("第二个字符串有字符 %c",a);
else
printf("第二个字符没有字符%c",a);
}
用C语言编程:将两个字符串连接起来,不要用strcat函数#include stdio.h
int main()
{
char a[10],b[10],c[20];
int i,j;
gets(a);
gets(b);
i=j=0;
while (a[i]!='\0')
{
c[i]=a[i];
i;
}
while (b[j]!='\0')
{
c[i]=b[j];
i;
j;
}
c[i]='\0';
printf("a: %s,b: %s cat--%s\n",a,b,c);
return 0;
}
关于c语言连接字符串不用函数和c语言字符串连接运算符的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- flutterapp升级提示,flutter自动更新
- 苹果安卓手机推荐的双人游戏,苹果安卓互通的双人手游
- js数组最小数,js 最小值
- 国外版直播成人软件下载,国外版直播成人软件下载
- go语言网络 go语言网络io
- 怎么离线开发小程序,小程序 离线
- python爬虫爬取特定网站,利用python爬取简单网页数据步骤
- 桌面直播怎么放置设备上,直播页面怎么设置
- php数据库日期之差 php数据库日期之差是什么