设有两个串S1和S2,求串S2在S1中首次出现位置的运算称作()。A、连接B、求子串C、模式匹配D、判断子串
设有两个串S1和S2,求串S2在S1中首次出现位置的运算称作()。
- A、连接
- B、求子串
- C、模式匹配
- D、判断子串
相关考题:
s1和s2已正确定义并分别指向两个字符串,若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是A.if(s1>s2)S;B.if(strcmp(s1,s2))S;C.if(strcmp(s2,s1)>0)S;D.if(strcmp(s1,82)>0)S;
s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指字符串大于s2所指字符串时,执行语句S;则以下选项中正确的是( )。A.if(sl>s2)S;B.if(strcmp(s1,s2))S;C.if(strcmp(s2,s1>0)S;D.if(strcmp)(s1,s2)>0)S;
s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S。则以下选项中正确的是______。A.if (s1>s2)S;B.if(strcmp(s1, s2))S;C.if(strcmp(s2, s1)>0)S;D.if(strcmp(s1, s2)>0)S;
阅读下列算法说明和算法,将应填入(n)处的语句写在对应栏内。【说明】本程序可以将字符串s1中出现的所有s2子串替换成s3,形成一个新串,但不破坏字符串s1。【代码】include<stdio.h>include<stdlib.h>include<string.h>char*replace(char *s1, char *s2,char *s3){ char *p, *q, *r, *s; int |2,|3, i=0;|2=strlen(s2);|3=strlen(s3);p=s1;while((p=strstr(p,s2))!=NULL){ i++; /* 统计s2串出现的次数*/(1);}i=(2);s=r=(char*)malloc(i); /*分配动态内存存放新字符串*/p=s1;while(1){ q=strstr(p, s2); /* s2串是否在s1中出现,q是首次出现的位置*/if(q!=NULL){ i=q-p;(3);r+=i;(4);r+=|3;p=q+|2; /*将指向s1串的指针移到s2子串出现的位置后,为下一次循环做好准备*/}else /*q为空,表示剩余的s1串中已经没有s2*/{ (5);break; /*终止循环*/}}return(s); /*返回指向所形成的新串的指针*/}void main(){ char *a="sabcababde", *b="ab", *c="efg", *d;d=replace(a, b, c); printf("result=%s\n", d); free(d);}
以下说法中错误的是A.strcpy(A,B)函数是将A字符串的内容复制到B字符串中B.strlen(cha*s)返回字符串S的长度,未尾的字符不计算在内C.char a[20]="string";中字符串长度为6D.strstr(S1,S2)函数在字符串S1中从左边开始查找字符串S2,若查找成功则返回S2在S1中首次出现的位置,否则返回NULL,如果S2为"",则返回S1。
设字符串s1='ABCDEFG',s2='PQRST',则运算s=CONCAT(SUB(s1,2,LEN(s2)),SUB(s1,LEN(s2,2))后的串值为(65)。A.'ABCDEFEF'B.'BCDEFG'C.'BCPQRST'D.'BCQR'
判断字符串s1是否大于字符串s2,应该使用()。A.if(strcmp(s1,s2)s2)C.if(strcmp(s2,s1) 判断字符串s1是否大于字符串s2,应该使用( )。A.if(strcmp(s1,s2)<0)B.if(s1>s2)C.if(strcmp(s2,s1)<0)D.if(strcmp(s1,s2))
设char *s1, *s2;分别指向两个字符串,可以判断字符串s1和s2是否相等的表达式为()A、s1=s2B、s1==s2C、strcpy(s1,s2)==0D、strcmp(s1,s2)==0
单选题设char *s1, *s2;分别指向两个字符串,可以判断字符串s1和s2是否相等的表达式为()As1=s2Bs1==s2Cstrcpy(s1,s2)==0Dstrcmp(s1,s2)==0