首页 > 试题广场 >

若串S1=′ABCDEFG′,S2=′9898′,S3=′#

[单选题]
若串S1 =′ABCDEFG′,S2=′9898′,S3=′###′,S4=′012345′,执行concat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,index(S2,′8′),length(S2)))其结果为()
  • ABC###G0123
  • ABC###2345
  • ABC###G2345
  • ABC###2345
substr和replace函数从1开始数吧

发表于 2015-06-24 10:33:41 回复(0)
原题选项是这样的
A:ABC###G0123 B:ABCD###2345 C:ABC###G2345 D:ABC###2345
E:ABC###G1234 F:ABCD###1234 G:ABC###01234
选E(标答,北方交通大学1999考题)

主要主要substr和index数串的时候,串的第一个数下标为1,不是0


严版定义
操作结果:将串t联结到串s后形成新串存放到s中。
StrLength(t)
初始条件:字符串t已存在。
操作结果:返回串t中的元素个数,称为串长。
SubString (s, pos, len, sub)
初始条件:串s, 已存在, 1≦pos≦StrLength(s)且 0≦len≦StrLength(s) –pos+1。
操作结果:用sub返回串s的第pos个字符起长度为len的子串。
……
} ADT  String
发表于 2019-11-17 16:09:00 回复(0)
  • ABC###G1234没有这个选项
发表于 2015-06-25 10:04:45 回复(1)
substr(S1,length(S2),length(S3))截取字符串
length(S2)=4
length(S3)=3 
substr(S1,4,3)="DEF";
replace(S1,"DEF",S3)="ABC###G"
substr(S4,index(S2,′8′),length(S2))截取字符串
index(S2,′8′)=1
substr(S4,1,4)="0123"
concat("ABC###G","0123" )="ABC###G0123" 


A
发表于 2015-06-24 14:44:50 回复(3)
concat()连接两个字符串
replace(S1,substr(S1,length(S2),length(S3)),S3)替换字符串
substr(S1,length(S2),length(S3))截取字符串
length(S2)=4
length(S3)=3
substr(S1,4,3)="EFG";
replace(S1,"EFG",S3)="ABCD###"
substr(S4,index(S2,′8′),length(S2))截取字符串
index(S2,′8′)=1
substr(S4,1,4)="1234"
concat("ABCD###","1234" )="ABCD###1234"
额没算出和选项一样的答案。。迷茫了
发表于 2015-06-24 09:45:00 回复(1)