c语言,字符数组函数

p++=str ;

#includevoid delchar(char str,char ch)

c语言字符串函数 c语言字符串函数调用c语言字符串函数 c语言字符串函数调用


c语言字符串函数 c语言字符串函数调用


#include

void fun(){

char str1[100],str2[100]; //两个字符串

int len1,len2; //字符串str1和str2的长度

scanf("%s",str1);

scanf("%s",str2);

len1=strlen(str1);

len2=strlen(str2);

if(!strcmp(str1,str2)){

printf("%sn",str1);

return ;

}else{

if(len1

strcat(str2,str1);

printf("%sn",str2);

return;

strcat(str1,str2);

printf("%sn",str1);

return ;

}int main(){

#include

#include

{char a[100],b[100];

int la, lb;

scanf("%s%s",a,b);

la = strlen(a);

lb =strlen(b);

if(la == la) printf("%s

",a);

else if(la < lb)

{strcat(b,a);

printf("%s

", b);

}else

{strcat(a,b);

printf("%s

", a);

}return 0;

}}printf("n您输入了%d个字符n",a);

#include "stdio.h"

#include "string.h"

int main(int argc,char argv[]){

char a[51],b[51];

printf("Input 2 strings...

scanf("%25s%25s",a,b);

fflush(stdin);

if(!strcmp(a,b))

printf("%s

",a);

else if(strlen(a)>=strlen(b))

printf("%s

printf("%s

",strcat(b,a));

return 0;

}

//为什么没人写了呢:

char str1[] = {0};

char str2[] = {0};

while(1){

scanf("%s %s", str1, str2);

if(strcmp(str1, str2)){

if(strlen(str1)>strlen(str2)){

strcat(str1,str2);

printf("%sn", str1);

}else{

strcat(str2, str1);

}}else{

printf("%sn",str1);

C语言编程:编写函数,统计字符串中字母、数字、空格和其他字符的个数。

printch1[i+j]=ch2[j];//把ch2加在ch1的后面f("Input a string:

编写函数,统计字符串中字母、数字、空格和其他字符}else if(len1>=len2){的个数,个数的话中文字符是2个,英文是1个

void statistics(char string[], int number[])

c语言编程题:定义函数con()将两个字符串连接,主函数输入两个字符串,调用con()连接字符串

int i = 0;

#include temp++; //temp++

#include

char con(char des, const char src)

{assert(des != NULL && src != NULL); //断言两个字符串不为空

char temp = des; //指针temp指向des字符串内存地址

while (temp != '0') //如果temp指针没有遇见'0'

while ((temp++ = src++) != '0'); //实现循环拷贝,当src为'0'时结束

return des; //返回des值

}int main()

{char str1[256] = {0};

char str2[256] = {0};

scanf("%s", str2);

char str3 = con(str1, str2);

printf("str3 =%sn", str3);

return 0;

}//示例运行结果

abcd

efgh

str3 =abcd{if(str>='a'&&str<='z'||str>='A'&&str<='Z')efgh

1234

5678

str3 =12345678

C语言 编写一个函数,由实参传来一个字符串,统计字符串中字母,数字,空格和其他字符的个数,在主函数

p=0;

1.

#include

int letters=0,space=0,digit=0,others=0;

int main(void)

{char str[100];

printf("char=%d

space=%d

digit=%d

others=%d

",letters,space,digit,others);

}int mystrlen(char dst)return 0;

}void count(char str)

{while(str!='0')

lettfun();ers++;

else if(str>='0'&&str<='9')

digit++;

str++;

}}2.

#include

int main(void)

{char str[100];

return 0;

}void count(char str)

{int letters=0,space=0,digit=0,others=0;

while(str!='0')

letters++;

else if(str>='0'&&str<='9')

digit++;

str++;

}printf("char=%d

space=%d

digit=%d

others=%d

",letters,space,digit,others);

}

全局变量

#include

int l=0,n=0,s=0,o=0;

void count(char str[ ]);

{char a[100];

printf("输入字符串n");

gets (a);

count(a);

printf("字母有:%d个n数字有:%d个n空格有:%d个n其他字符有:%d个n",l,n,s,o);

}void count(char str[])

{for(int i=0;str[i]!='0';i++)

{if(str[i]==' ')

s++;

else if((str[i]<='z'&&str[i]>='a')||(str[i]<='Z'&&str[i]>='A'))

l++;

else if(str[i]<='9'&&str[i]>='0') n++;

else o++;

用C语言程序,通过自定义函数实现字符串处理函数strcat、 strcpy、strcmp、strlen和的功能

0.0+【我自己做的

【strlen

{ char ch1[10]="abc";

for(i=0;ch1[i]!='0';i++);//循环到不是0为(结尾)

printf("len=%d",i);//循环次数就是字符串的长度

getch();

}【strcpy

{ char ch1[20]="abdel_char(str,ch);cde",ch2[20];

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

ch2[i]=ch1[i];//用ch2替换掉ch1的每一位

ch2[i]='0';//在一位后面加上结束标志

printf("%s",ch2);//%s表示输出字符串

getch();

}【strcat

{ char ch1[20]="abc",ch2[20]="def";

int i,j;

for(i=0;ch1[i];i++);

for(j=0;ch2[j];j++)

ch1[i+j]='0'; //在一位后面加上结束标志

printf("%s",ch1);

getch();

}↑过程:abcd→abcde→abcdef

【strcmp

{ charch1[20]="abc",ch2[20]="acd";

for(i=0;ch1[i]==ch2[i];i++)//比较到不同的那位

if(ch1[19]=ch2[19])//如果全相同,则相等

if(ch1[i]>ch2[i])//不同的那位比大小

else if(ch1[i]

printf("ch1

getch();

}{char w = str, r;

char mystrcat(char dst, char src)

while(p)++p;

while(p++ = src++);

return dst;

}char mystrcpy(char dst, char src)

{while(dst++ = src++);

return dst;

}int mystrcmp(char dst, char src)

{while(dst && dst == src)

{++dst;

++src;

}return dst - src;

while(p)++p;

return p - dst;

}int main()

mystrcat(s, "USA");

printf("%d %dn", mvoid func2(char a)ystrlen(s), mystrcmp(s, t));

}

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

int i;

我说一下思路:

while(a[i+char strcat( char s1[], const char s2[] )+]!='0');

首先判断个字符串的长度N1,然后让N1和你输入的插入位置P进行比较,如果p>N1那么直接插入到个字符串的尾部,这个有库函数。如果P

我个人的思路,不一定对!

c语言中str是什么意思

void count(char str);

str只是编写程序的人员定义的一个变量,常用来表示字符型变量或字符串,取string的前三个字母。

{char p = dst;

如:

char str[]="abcd"; // 定义一个字符变量str,存放字符串"abcd"

指针偏移的意思。如指针变量str是首地址,str+1就是他的下一个地址,即第二地址。依此类推,str+4就是第五个地址。有一点你要知道,如定义一个数组a[5],这个数组有5个元素,这5个元素的存储单元是连续的,首地址为a,相当于&a[0]。

你的str应该是一个指针吧,如果str指向a数组,str指向数组的个元素,也就是a[0]

str+4也就是指向数组的第五个元素,也就是a[5],

所以(str+4)就是取a[5]的值,不知你明白了没!!

如果str定义为指针str+3表示str的地址处加3处的地址;

如果str定义为非指针如整形变量,则表示str数值加3

比如str

=“abint main()cdefg”;

str指向字符串abcdefg的首地址,如果其为0x40300,那么str指向a。

str+4=0x40304,(str+4)指向e;

c语言编写函数,将一个字符串str中指定的字符ch删去,函数原型是void delchar(charstr,char ch)

void main()

算法描述:

定义两字符指针,一个作为读取指针,另一个作为写入指针,写指针指向字符串的头部;

将写指针向后移定位到个要替换字符或结束符,

如果是结束符, 返回

否则,读指针 = 写指针加1

如果 读指针指向的字符不是要替换字符或结束符, 将读指针内容 赋给写指针; 两指针后移;

否则 如果 读指针指向的是要替换字符, 读指针后移;

否则 将读指针内容 赋给写指针, 返回.

重复3. 代码如下:

void delchar(charstr,char ch)

while( w != ch && w !='0') w++;

if( w == '0')

return ;

r = w + 1;

for(;;)

{if( r != ch && r !='0')

w++ = r++;

else if( r == ch )

r++;

{w = r;

return;

}

{#define MAX_SIZE 256

char ts[MAX_SIZE];

int len,i,j=0;

memset(ts,0,MAX_SIZE);

#undef MAX_SIZE

len = strlen(str);

for(i = 0;i< len;i++){

if(str[i]!=ch){

ts[j] = str[i];

j++;

memset(str,0,strlen(str));

memcpy(str,ts,strlen(ts));

}char ss = "jiang";

delchar(ss,'a');

// ss = "jing"

void delchar(charstr,char ch)

while( str )

{if ( str != ch )

str++ ;

}p='0' ;

}

void delchar(char str, char ch) {

char p, q;

p = q = stmystrcpy(s, "HELLO,");r;

while (p) {

if (p == ch) {

p++;

} else {

q = p;

q++;

p++;

while(q)p++=q++;q = '0';

}

#include

#include

void del_char(char str[],char ch)

{int i,a,len=strlen(str);

for(i=0;i

{if (str[i]==ch)

{a=i;

break;

printf("%dn",a);

for(a;a

str[a]=str[a+1];

str[len-1]=0;

}int main()

{char str[]="I am happy.";

char ch='h';

printf("%s",str);

return 0;

}

C语言中字符串的赋值方式有哪些

在C语言中,字符串的赋值方式有以下几种:1.字符数组赋值:可以通过定义一个字符数组,并逐个赋值字符来表示字符串。例如:char str[] = "Hello World";2.字符指针赋值:可以通过定义一个字符指针,并将指针指向字符串常量或字符数组的首地址来表示字符串。例如:char str = "Hello Worldprintf("%sn", str2);";3.strcpy函数赋值:可以使用strcpy函数将一个字符串到另一个字符串中。例如:strcpy(str1, str2);F:c_work>a.exe4.字符串常量赋值:可以直接{if(str>='a'&&str<='z'||str>='A'&&str<='Z')将一个字符串常量赋值给一个字符数组或字符指针来表示字符串。例如:char str[] = "Hello World" 或 char str = "Hello World";需要注意的是,使用字符数组赋值时,需要确保数组足够大以容纳字符串及结尾的空字符'0'。使用字符指针赋值时,需要确保指针指向的字符串常量不会被修改。在使用strcpy函数赋值时,需要确保目标字符串数组足够大以容纳源字符串及结尾的空字符'0'。

C语言编程:用自定义函数实现字符串处理函数strcat、 strcpy、strcmp、strlen和

",strcat(a,b));

char mystrcat(char dstprintf("ch1>ch2");, char src)

while(p)++p;

while(p++ = src++);

return dst;

}char mystrcpy(char dst, char src)

{while(dst++ = src++);

return dst;

}int mystrcmp(char dst, char src)

{while(dst && dst == src)

{++dst;

++src;

}return dst - src;

while(p)++p;

return p - dst;

}int main()

mystrcat(s, "USA");

printf("%d %dn", mystrlen(s), mystrcmp(s, t));

}

{if (s1==NULL || s2==NULL)

return NULL;

for(char p=s1+sizeof(s1)-1; s2!='0'; p++,s2++)

p = s2;

return s1;

}

void strcat(char s1[],char s2[])

{int i,j;

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

for(j=0;s2[j]!='0';j++)

s1[i++]=s2[j];

s1[i]='0';

}void strcpy(char a[],char b[])

{int i=0,j=0;

int strcmp(char s1[],char s2[])

{int i;

for(i=0;s1[i]!='0'&&s2[i]!='0';i++)

{if(s1[i]>s2[i])

return 1;

return -1;}

if(s1[i]=='0'&&s2[i]=='0')

return 0;

else if(s1[i]=='0')

return -1;

return 1;

}int strlen(char s[])

{int len=0 ,i;

for(i=0;s[i]!='}int mystrlen(char dst)0';i++)

len++;

return len;}