![](https://lstatic.shangxueba.com/jiandati/pc/images/pc_jdt_tittleico.png)
下面的函数实现将字符串s置逆,即如果字符串s为"abcde", 则逆置后为字符串"edcba"。 void revstr(char *s) { char *p=s, c; while(*p) p++; while(s <p) { c="*s;" *s++="*p;" *p--="c;" }>
![](https://lstatic.shangxueba.com/jiandati/pc/images/jdt_panel_vip.png)
![](https://lstatic.shangxueba.com/jiandati/pc/images/no_answer.png)
【函数1说明】
函数palindrome(char s[])的功能是:判断字符串s是否为回文字符串。若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,则可称该字符串是回文字符串。例如,“LEVEL”是回文字符串,而“LEVAL”不是。
【函数1】
int palindrome(char s[]{
char *pi, *pj;
pi=s; pj=s+strlen(s)-1;
while(pi<pj&&(1)){
pi++; pj--;
}
if((2))return-1;
else return 0;
}
【函数2说明】
函数f(char *str, char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。
例如,若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。
【函数2】
void f(char *str, char del){
int i,j, len;
len=strlen(str);
i=0;
while(i<len){
While((3)) i++; /*忽略连续的标志字符*/
/*寻找从str[i]开始直到标志字符出现的一个子字符串*/
j=i+1;
while(str[j]!=del && str[j]!='\0')j++;
(4)='\0'; /*给找到的字符序列置字符串结束标志*/
printf("%s\t",&str[i]);
(5);
}
}
阅读以下说明和C函数,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏内。
【说明1】 函数deldigit(char *s) 的功能是将字符串s中的数字字符去掉,使剩余字符按原次序构成一个新串,并保存在原串空间中。其思路是:先申请一个与 s 等长的临时字符串空间并令t指向它,将非数字字符按次序暂存入该空间,最后再拷贝给s。
【C函数】
void deldigit(char *s)
{
char *t = (char *)malloc((1) ); /*申请串空间*/
int i, k = 0;
if (!t) return;
for(i = 0; i < strlen(s); i++)
if (!(*(s+i)>='0' && *(s+i)<='9') ) {
t[k++] = (2) ;
}
(3) = '\0'; /*设置串结束标志*/
strcpy(s,t);
free(t);
}
【说明2】
函数reverse(char *s, int len)的功能是用递归方式逆置长度为 len的字符串s。例如,若串s的内容为“abcd” ,则逆置后其内容变为“dcba” 。
【C函数】
void reverse(char *s, int len)
{
char ch;
if ((4) )
{
ch = *s;
*s = *(s+len-1);
*(s+len-1) = ch;
reverse((5) );
}
}
下面程序的功能是实现字符串逆序存放。 程序运行结果如下: Input a string:ABCDEFGHI↙ Inversed results:IHGFEDCBA 按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include <stdio.h> #include <string.h> #define N 80 void Inverse(char *pStr); int main() { char a[N]; printf("Input a string:"); gets(a); Inverse(a); printf("Inversed results:%s\n", a); return 0; } /* 函数功能: 实现将字符数组中的字符串逆序存放 */ void Inverse(____________) { int len; char temp; char *pStart; /* 指针变量pStart指向字符串的第一个字符 */ char *pEnd; /* 指针变量pEnd指向字符串的最后一个字符 */ len = strlen(pStr); /* 求出字符串长度 */ for (pStart=pStr,___________; pStart <pend; pstart++,__________) { temp="*pStart;" ______________; *pend="temp;" }> A、第16行: char *pStr 第23行: pEnd=pStr+len-1 pEnd-- 第26行: *pStart = *pEnd
B、第16行: char pStr 第23行: pEnd=pStr+len pEnd-- 第26行: *pStart = *pEnd
C、第16行: char *pStr 第23行: pEnd=pStr+len-1 pEnd++ 第26行: pStart = pEnd
D、第16行: char pStr 第23行: pEnd=pStr+len+1 pEnd++ 第26行: *pStart = *pEnd
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!