十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#includestdio.h
创新互联从2013年开始,是专业互联网技术服务公司,拥有项目成都做网站、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元厦门做网站,已为上家服务,为厦门各地企业和个人服务,联系电话:13518219792
void s_trcat(char *s1,char *s2);//连接两个字符串
void s_trcpy(char *s1,char *s2);//字符串s2复制给字符串s1
int s_trcmp(char *s1,char *s2);//两个字符串比较大小
int s_trlen(char *s);//计算一个字符串的长度
int main()
{
char s1[11]="12345", s2[11]="ABCDE";
char x1[11]="12345",x2[11]="SSSKK";
char str1[11]="ABCD",str2[11]="ACB";
char s[11]="ABCDEF";
int n,len;
s_trcat(s1,s2);//拼接s1,s2
printf("拼接s1,s2,输出s1\n");
puts(s1);
s_trcpy(x1,x2);//将x2的内容复制给x1
printf("将x2的内容复制给x1,输出x1\n");
puts(x1);
n=s_trcmp(str1,str2);//比较str1与str2大小,返回一个整数,代表比较的结果
if(n==0)
printf("str1与str2相同\n");
if(n==1)
printf("str1大于str2\n");
if(n==-1)
printf("str1小于str2\n");
len=s_trlen(s);//计算字符串s的长度,并返回一个整数(字符串长度),
printf("字符串s的长度:%d\n",len);
}
void s_trcat(char *s1,char *s2)//连接两个字符串
{
char *p=s1;
char *q=s2;
while(*p)
p++;
while(*q)
{
*p=*q;
p++;
q++;
}
*p='\0';//给新字符串尾部加个结束符
}
void s_trcpy(char *s1,char *s2)//字符串s2复制给字符串s1
{
char *p=s1;
char *q=s2;
while(*p++=*q++);
*p='\0';//给新字符串尾部加个结束符
}
int s_trcmp(char *s1,char *s2)//两个字符串比较大小
{
char *p=s1;
char *q=s2;
int len1=0,len2=0;
while(*p++)
len1++;
while(*q++)
len2++;
p=s1,q=s2;
while(*p!='\0'*q!='\0')
{
if(*p*q)
return 1;
if(*p*q)
return -1;
p++;
q++;
}
if(len1==len2)
return 0;//返回0,两个字符串相同
if(len1len2)
return 1;//返回1,前大于后
if(len1len2)
return -1;//返回-1,前小于后
}
int s_trlen(char *s)//计算一个字符串的长度
{
char *p=s;
int len=0;
while(*p++)
len++;
return len;//返回字符串长度
}
C语言代码和运行结果如下:
输出符合示例,加解密均正确,望采纳~
附源码链接:字符串加解密
strcat(char
*p1,char
*p2,char
*p)
{
while(*p1)
//检查指针是否到了'\0'
{
*p=*p1;
//赋值
p1++;
//指针指向下一个字符
p++;
}
while(*p2)
{
*p=*p2;
p2++;
p++;
}
*p='\0';
//为str3结尾加上'\0'
}
这个是strcat是3个形参的,两个形参的是这样写的
void
strcat(char
*p1,
char
*p2)
{
while(*p1)
{
p1++;
}
while(*p2)
{
*p1
=
*p2;
p1++;
p2++;
}
*p1
=
'\0';
}
注意
p1开的数组要比p2大哦
int
strlen(char
*p1)
{
char
*s=p1;
//将指针s指向指针p,即指向str1
while(*s)
//当*s不为'\0'的时候
s++;
//指针指向下一个字符
return
(s-p1);
//当s指向字符串的'\0'的前一位,而p指向的是开头,所以s-p就是长度
}
strcpy(char
*p1,
char
*p2)
{
while(*p2)
{
*p1
=
*p2;
p1++;
p2++;
}
}
strcmp(char
*p1,
char
*p2)
{
//当*p1,*p2不为空,且*p1
==
*p2,循环执行
while(*p1
*p2
(*p1
==
*p2))
{
//指向下一个元素
p1++;
p2++;
}
if(*p1
*p2)
return
1;
else
if(*p1
*p2)
return
-1;
return
0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include stdio.h
#include time.h
/*把从src地址开始的字符串复制到以dest开始的字符串中*/
char* strcopy (char* dest, char *src) {
char* r = dest;
while((*r++ = *src++)!='\0');
return dest;
}
int main () {
char *str1="abcde";
char *str2;
str2 = strcopy (str2, str1); /*把str1复制到str2*/
puts (str2);
return 0;
}