成都网站建设设计

将想法与焦点和您一起共享

c语言高级匹配函数,常用匹配函数

C语言提问,关于scanf

scanf -- 英文意思是 scan (扫描)f == format (有格式),就是有格式输入。

成都创新互联公司服务项目包括河西网站建设、河西网站制作、河西网页制作以及河西网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,河西网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到河西省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

scanf("%lf,%lf,%lf", -- 格式是1个double,1个逗号,1个double,1个逗号,1个double。

scanf("%lf%lf%lf", -- 3 个double,默认格式,分隔符是空白(空格,tab, 换行。。。)。

对应的输入数据要按scanf 定义的格式。

如果你想 既能用 空白,又能用逗号 分隔,可以这样写:

int main(){

double a,b,c;

scanf("%lf%*1c%lf%*1c%lf",a,b,c);

if(ab)a=b;

if(ac)a=c;

printf("MAX=%7.2lf\n",a);

return 0;

}

%*1c 就是跳过一个符号的意思。

1,2,3

1 2 3

都没问题,反正逗号也好,空白也好,我跳过去,不睬它。

C语言匹配数组里的内容,要怎么样匹配

如果是字符数组,可以使用strstr函数查找匹配。

strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。

包含文件:string.h

函数名: strstr

函数原型:

extern char *strstr(char *str1, const char *str2);

语法:

char * strstr(str1,str2)

str1: 被查找目标 string expression to search.

str2: 要查找对象 The string expression to find.

返回值:若str2是str1的子串,则先确定str2在str1的第一次出现的位置,并返回此str1在str2首位置的地址。;如果str2不是str1的子串,则返回NULL。

如果是普通类型的数组,需要使用双重循环来实现匹配。

例如:

int a[10]={0,1,2,3,4,5,6,7,8,9,0};

int b[3]={5,6,7};

int i,j;

for(i=0;i7;i++){

for(j=0;j3;j++) if(a[i+j]!=b[j]) break; //进行匹配,如果其中一个不匹配,中断循环。

if(j==3){    //寻找到匹配

printf("匹配!");

break;

}

}

if(i==7){    //循环完仍未找到匹配

printf("不匹配!");

}

C语言:我的字符串匹配函数

我这里运行,没有运行时错误,只是按你的代码结果不对。

调整后代码如下:

#include stdio.h

#include string.h

char *strstr(char*str1,char*str2)

{

int n1 = strlen(str1);

int n2 = strlen(str2);

int flg = 0;

char *p1 = str1;

char *p2 = str2;

if(n1n2) return NULL;

int i;

for(i=0;in1-n2+1;i++)

{

p1 = str1+i;

p2 = str2;

while(*p2!=NULL)//

{

if(*p1!=*p2) 

{

flg = 0;

p1++;

p2++;

break;

}

p1++;

p2++;

flg = 1;                

}

if(flg) return str1+i;//你到底要输出什么,原函数是输出位置int

}

return NULL;//

}

int main()

{

char str1[]="str1adsfqwer";

char str2[]="ads";

char *p = strstr(str1,str2);

printf("%s\n",p);

return 0;

}

c语言字符串匹配

#include stdio.h

#include string.h

int main(int argc, char **argv)

{

char *A="abcd_V102.123.efg";

char B[1024];

char *p;

char *q;

p = strstr(A, "_V"); //匹配"_V"

if(p){

q = strchr(p + strlen("_V"), '.'); //匹配'.'

if(q){

p += strlen("_");

memcpy(B, p, q - p);

B[q-p] = '\0';

printf("%s\n", B);

}

}

return 0;

}

c语言实现多个匹配项查找

这就是数据库的最基本功能么.... - -

把这些东西搞成一个对象,比如

struct xxx_info {

char *name;

char *localclient

....

}

再定义一个函数

struct * find(struct xxx_info *criteria) { ... }

这个函数接受一个xxx_info 作为参数,返回匹配的xxx_info对象

传参数的时候首先新建一个xxx_info对象,然后如果你有值需要匹配,就设置相应的值,比如你要匹配localclient 和peerhost ,就写:

xxx_info *a = (xxx_info *) malloc(...);

a-localclient = "什么值";

a-peerhost = "什么值";

不需要匹配的值让它为NULL就行

find 函数的实现,就是在一个数组(或者别的种类的集合)中遍历,寻找和criteria对象符合的xxx_info

这只是基本,利用C语言,你想做出更类似面向对象的函数接口,也没问题...

c语言字符串匹配函数(普通的算法) 为什么无法实现??感谢!!!

int SStrlength(String Str)

{ int i=0;

while(Str.ch[i]!='/0')

这里是错的,数组结束符是\0, 而不是/0


本文题目:c语言高级匹配函数,常用匹配函数
文章URL:http://chengdu.cdxwcx.cn/article/dsipdop.html