假设串S1=“data”,S2=“stru”,则函数strlen(strcat (S1,S2))__________.
假设串S1=“data”,S2=“stru”,则函数strlen(strcat (S1,S2))__________.
假设串S1=“data”,S2=“stru”,则函数strlen(strcat (S1,S2))__________.
设串s1="Data Structures、with Java",s2="it",则子串定位函数index(s1,s2)的值为 ()
A.15
B.16
C.17
D.18
假设采用动态存储分配的顺序串HString作为串的存储结构。该类型实现的串操作函数原型说明如下:
void strinit(HString s); //置s为空串
int strlen(HString s); //求串s的长度
void strcpy(HString to,HString from); //将串from复制到串to
void streat(HString to,HString from); //将串from联接到串to的末尾
int strcmp(HString s1,HString s2);
//比较串s1和s2的大小,当s1<s2,s1=s2或s1>s2时,
//返回值小于0,等于0或大于0
HString substr(HString s,int i,int m);
//返回串S中从第i(0≤i≤strlen(s)-m)个字符起长度为m的子串阅读下列算法f32,并回答问题:
(1)设串S="abcdabcd",T="bcd",V="bcda",写出执行f32(S,T,V)之后的S;
(2)简述算法f32的功能。
void f 32(HString S,HString T,HString V){
int m,n,pos,i;
HString news;
strinit(news);
n=strlen(S);
m=strlen(T);
pos=i=0;
while(i<=n-m){
if(strcmp(substr(S,i,m),T)!=0)i++;
else{
strcat(news,substr(S,pos,i-pos));
strcat(news,V);
pos=i=i+m;
}
}
strcat(news,substr(S,pos,n—pos));
strcpy(S,news);
}
以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址
#include <stdio.h>
#include <string.h>
char *scmp(char *s1, char *s2)
{ if(strcmp(s1,s2)<0)
return(s1);
else return(s2);
}
main()
{ int i; char string[20], str[3][20];
for(i=0;i<3;i++) gets(str[i]);
strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/
strcpy(string,scmp(string,str[2]));
printf("%s\n",string);
}
若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为
A.abcd
B.abba
C.abc
D.abca
以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址 #include<stdio.h> #include<string.h> char *scmp(char *s1,char *s2) { if(strcmp(s1,s2)<0) return(s1); else return(s2); } main() { int i;char string[20],str[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1]));/*库函数strcpy对字符串进行复制*/ strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为
A.abcd
B.adba
C.abc
D.abca
A.s1-s2
B. s1+s2
C. substr(s1,1,8)+s2
D. str(s1-s2)
A.abed
B.abba
C.abc
D.abca
有如下三个函数: void setStr1(char* s1) { strcpy(s1,"new str \0"); } void setStr2(char* &s2) { strcpy(s2,"new str \0"); } void setStr3(char s3) { strcpy(s3,"new str \0"); } 分别由如下的一些函数调用: A应用 char s[10]; setStr1(s); B应用 char s[10]; setStr2(s); C应用 char s[10]; setStr3(s); 分别对这三个函数调用展开分析。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!