阅读以下说明和C函数,填补代码中空缺,将解答填入答题纸对应栏内。
[说明]
函数removeDuplicates(chai *str)功能是移除给定字符串中重复字符,使每种字符仅保留一个,其方法是:对原字符串逐个字符进行扫描,遇到重复出现字符时,设置标志,并将其后非重复字符前移。例如,若str指向字符串为"aaabbbbscbsss",则函数运行后该字符串为"absc"。
[C代码] voidremoveDuplicates(char *str) { inti,len=strlen(str); /*求字符串长度*/ if(______)return; /*空串或长度为1字符串无需处理*/ for(i=0;i<len;i++){ int flag=0; /*字符是否重复标志*/ int m; for(m=______; m<len;m++){ if(Str[i]==str[m]){ ______; break; } } if (flag) { int n,idx=m; /*将字符串第idx字符之后、与str[i]不同字符向前移*/ for(n=idx+1; n<len; n++) if(Str[n]!=str[i]){ str[idx]=str[n];______; } str[______]='\0'; /*设置字符串结束标志*/ } } }
正确答案及解析
正确答案
解析
len<2 或len<=1 或等价表示
i+1 或等价表示
flag=1 或给flag赋值为任何一个不是0值
idx++ 或idx=idx+1 或等价表示
idx 或等价表示
你可能感兴趣的试题

- 
                
- A.V(S2)和P(S4)
 - B.P(S2)和V(S4)
 - C.P(S2)和P(S4)
 - D.V(S2)和V(S4)
 
 - 查看答案
 

- 
                
- A.V(S1)P(S2)和V(S3)
 - B.P(S1)V(S2)和V(S3)
 - C.V(S1)V(S2)和V(S3)
 - D.P(S1)P(S2)和V(S3)
 
 - 查看答案
 

- 
                
- A.P(S4)和V(S4)V(S5)
 - B.V(S5)和P(S4)P(S5)
 - C.V(S3)和V(S4)V(S5)
 - D.P(S3)和P(S4)V(P5)
 
 - 查看答案
 

- 
                
- A.P(S3)和V(S4)V(S5)
 - B.V(S3)和P(S4)P(S5)
 - C.P(S3)和P(S4)P(S5)
 - D.V(S3)和V(S4)V(S5)
 
 - 查看答案
 

- 
                
- A.P(S2)和P(S4)
 - B.P(S2)和V(S4)
 - C.V(S2)和P(S4)
 - D.V(S2)和V(S4)
 
 - 查看答案