网站建设资讯

NEWS

网站建设资讯

c语言字符串如何定义函数 c语言中定义字符串的方法

关于c语言,自定义函数,字符串

方法一:函数入口参数即为要返回的结果

站在用户的角度思考问题,与客户深入沟通,找到隆德网站设计与隆德网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网络空间、企业邮箱。业务覆盖隆德地区。

void fun(char *in,char *out);

out为你要传出的字符串,其实对于你的函数内部来说这个out就像它的全局变量(要明白,其实不是,这么说只是为了让你好理解)。

方法二:函数内使用static修饰局部变量,这样就可以传出去了。

用C语言怎么写个 字符串插入函数

程序的大体思路可以是这样:

str1是原字符串,str2是待插入的字符串,position是待插入的位置,我们可以这样,用一个指针p_cur指向字符串1 str1中的待插入位置position,另一个指针p_end指向字符串1 str1的尾部,每次插入字符前,把str1中从当前位置开始一直到结束字符全部后移一个位置,空出当前位置,然后把要插入的字符放进这个位置,这样就完成了一个字符的插入,重复这个步骤,直到str2被完全插入。

代码如下:

#include stdio.h

#include string.h

void insert_str(char str1[],char str2[],int position)

{

/*

insert_str()函数

功能:将字符串str2插入到str1的position位置处

参数:char str1,char str2 ,int position

返回值:无

*/

int i;

char *p_end,*p_cur,*p;/*p_end指向第一个字符串的尾部,p_cur指向被插入的位置*/

p_end=str1+strlen(str1)-1;

p_cur=str1+position-1;

for(i=0;str2[i]!='\0';i++)

{

for(p=p_end;p=p_cur;p--)

{

*(p+1)=*p;/*从p_cur到p_end的全部元素后移一个位置,此时p_cur指向的位置就空出来了*/

}

*p_cur=str2[i];/*把字符串2中的字符插入空出来的位置*/

p_cur++;/*p_cur下移一个位置*/

p_end++;/*多了一个字符,因此p_end也下移一个位置*/

}

}

void main()

{

char s1[100],s2[20];

int position;

printf("输入字符串1:\n");

gets(s1);

printf("输入插入位置:");

do

{

scanf("%d",position);

while(getchar()!='\n');/*这一句可以把输入position的时候输入的回车去掉*/

}while(position0||positionstrlen(s1));

printf("输入字符串2:\n");

gets(s2);

insert_str(s1,s2,position);

printf("字符串被插入后变成:\n");

puts(s1);

}

c语言自定义函数实现字符串的拼接、拷贝、比较大小、求字符串长度等四个功能

#includestdio.h

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语言中,返回一个字符串的函数应该怎样定义

要返回字符串 需要返回char*类型

需要注意的是 返回的字符串 不能是该函数的局部变量,否则会导致出错

可以是参数字符串,全局变量,静态局部变量,或者动态分配的内存

比如

char *my_str_cpy(char *d, char *s)

{

char *p=d;

while(*p++=*s++);

return d;//返回参数字符串。 

}

c语言输入输出字符串自定义函数该怎么写啊

自定义函数时字符串的格式:char *function(); char *function(char ch[]) { return ch; } main { char c[]={"ABCDEFG"}; printf("%s",function(c)); }

C语言自编字符、字符串处理函数

my_string.h

#ifndef _MY_STRING_H_

#define _MY_STRING_H_

//比较

int my_strcmp(const char *,const char *);

//复制

char *my_strcpy(char *,const char *);

//检查字符是否为数字或字母

int my_isAlpha(char );

int my_isNumber(char );

//大写转换为小写。

char *my_convert(char *);

#endif

my_string.c

#include "my_string.h"

//比较

int my_strcmp(const char *cs,const char *ct)

{

register signed char __res;

while (1) {

if ((__res = *cs - *ct++) != 0 || !*cs++)

break;

}

return __res;

}

//复制

char *my_strcpy(char *dest,const char *src)

{

char *tmp=dest;

while((*dest++=*src++) != '\0');

return tmp;

}

//检查字符是否为数字或字母

int my_isAlpha(char c)

{

if((c='a' c='z') || (c='A' c='Z'))

return 1;//返回1为字母

else

return 0;//返回0为其他字符

}

int my_isNumber(char c)

{

if((c='0' c='9'))

return 1;

else

return 0;

}

//大写转换为小写。

char *my_convert(char *src)

{

char *tmp=src;

while(*src!='\0')

{

if(*src ='A' *src='Z')

*src=*src+32;

}

return tmp;

}

别忘了自己测试一下


网站栏目:c语言字符串如何定义函数 c语言中定义字符串的方法
文章位置:http://cdweb.net/article/dosdiij.html