c语言字符串函数 c语言字符串函数调用
c语言,字符数组函数
p++=str ;#include
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); 编写函数,统计字符串中字母、数字、空格和其他字符}else if(len1>=len2){的个数,个数的话中文字符是2个,英文是1个 void statistics(char string[], int number[]) #include #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 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++; 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)); } 我说一下思路: 首先判断个字符串的长度N1,然后让N1和你输入的插入位置P进行比较,如果p>N1那么直接插入到个字符串的尾部,这个有库函数。如果P 我个人的思路,不一定对! str只是编写程序的人员定义的一个变量,常用来表示字符型变量或字符串,取string的前三个字母。 如: 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; 算法描述: 定义两字符指针,一个作为读取指针,另一个作为写入指针,写指针指向字符串的头部; 将写指针向后移定位到个要替换字符或结束符, 如果是结束符, 返回 否则,读指针 = 写指针加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语言中,字符串的赋值方式有以下几种: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'。 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;}C语言编程:编写函数,统计字符串中字母、数字、空格和其他字符的个数。
printch1[i+j]=ch2[j];//把ch2加在ch1的后面f("Input a string:c语言编程题:定义函数con()将两个字符串连接,主函数输入两个字符串,调用con()连接字符串
int i = 0;C语言 编写一个函数,由实参传来一个字符串,统计字符串中字母,数字,空格和其他字符的个数,在主函数
p=0;用C语言程序,通过自定义函数实现字符串处理函数strcat、 strcpy、strcmp、strlen和的功能
用C语言怎么写个 字符串插入函数
int i;c语言中str是什么意思
void count(char str);c语言编写函数,将一个字符串str中指定的字符ch删去,函数原型是void delchar(charstr,char ch)
void main()C语言中字符串的赋值方式有哪些
C语言编程:用自定义函数实现字符串处理函数strcat、 strcpy、strcmp、strlen和
",strcat(a,b));
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。