A.strcpy(A,B)函数是将A字符串的内容复制到B字符串中
B.strlen(cha*s)返回字符串S的长度,未尾的字符不计算在内
C.char a[20]="string";中字符串长度为6
D.strstr(S1,S2)函数在字符串S1中从左边开始查找字符串S2,若查找成功则返回S2在S1中首次出现的位置,否则返回NULL,如果S2为"",则返回S1。
阅读下列程序说明和C程序,将应填入(n)处的字句写在答卷纸的对应栏内。
【程序说明】
该程序定义了两个子函数strsort和strmerge。它们分别实现了将一个字符串按字母顺序排序和将两个字符串合并排序,并删去相同字符。在主函数里,先输入两个字符串s1和s2,然后调用strsort函数对它们分别排序,然后调用strmerge函数将s1和s2合并,将合并后的字符串赋给字符串s3,最后输出字符串s3。
【程序】
#include
void strmerge(char*a,char*b,char*c)//将字符串a,b合并到字符串c中
{
char t,*w;
w=c;
while((1) )
{
//找到字符串a,b当前字符中较小的字符
if(*a<*b)
{
t=*a;
(2) ;
}
else if(*a>*b)
{
t=*b;
(3) ;
}
else//字符串a,b当前字符相等
{
t=*a;
a++;
b++;
}
if((4) )//开始,可直接赋值
*w=t;
else if(t!=*w)
//如果a,b中较小的当前字符与c中当前字符不相等,才赋值 (5) ;
}
if(*a!=\′\0′)//如果字符串a还没有结束,则将a的剩余部分赋给c
while(*a!=′\0′)
if(*a!=*w)
{
*(w)=*a;
a++;
}
else
(6) ;
if(*6!=′\0′)//如果字符串b还没有结束,则将b的剩余部分赋给c
while(*b!=′\0′)
if(*b!=*w)
{
*(w)=*b;
b++;
}
else
b++;
(7) ;
}
void strsort(char*s)//将字符串S中的字符排序
{
int i,j,n;
char t,*w;
W=S;
for(n=0;*w!=′\0′;n++)//得到字符串长度n
w++;
for(i=0;i
for(j=i+1;j
if((8) )
{
t=s[i];s[i]=s[j]; (9) ;
}
}
void main()
{
char s1[100],s2[100],s3[100];printf("\nPlease,input the first string:");
scanf("%s",s1);
printf("\nPlease input the second string:");
scanf("%s",s2);
strsort(s1);//将字符串s1排序
strsort(s2);//将字符串s2排序
printf("%s\n",s1);
printf("%s\n",s2);
s3[0]=′\0′;//字符串s3的第一个字符先置′\0′结束标志
(10) //将s1和s2合并,按照字母顺序排列,
//且要删去相同字符,存入s3中
printf("%s",s3);
}
A.字符串比较
B.字符串复制
C.字符串连接
D.字符串反向
判断字符串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=s2
(B)s1==s2
(C)strcpy(s1,s2)==0
(D)strcmp(s1,s2)==0
strstr()的简单实现
strstr(s1,s2)是一个经常用的函数,他的作用就是在字符串s1中寻找字符串s2如果找到了就返回指针,否则返回NULL。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!