char * match(char *s, char ch)
{
int i;
char *t=NULL;//NULL一定不能忘记
for(i=0;s[i]!='\0';i++)//计算字符数组常用的方法
{
if(s[i]==ch)//
t=s+i;//不能写成t[j++]=s[i];
}
s[i]!='\0';
return t;
}
6-6 字符定位(最后一次找到的字符)
分数 10
全屏浏览题目
切换布局
作者 张泳
单位 浙大城市学院
本题要求定义一个函数,在字符串中查找字符,并定位在最后一次找到的位置。
函数接口定义:
char * match(char *s, char ch);
其中s是字符串首地址,ch是要查找的字符。要求函数在字符串s中查找字符ch,如果找到,返回最后一次找到的该字符在字符串中的位置(地址);否则,返回空指针NULL。
裁判测试程序样例:
#include <stdio.h>
char *match(char *s, char ch);
int main(void )
{
char ch, str[80], *p = NULL;
scanf("%s", str); getchar(); /* 跳过输入字符串和输入字符之间的分隔符 */
ch = getchar(); /* 输入一个字符 */
p = match(str, ch); /* 调用函数match() */
if( p != NULL )
{
printf("%s\n", p); }
else
{
printf("Not Found.\n");
}
return 0;
} /* 请在这里填写答案 */
输入样例1:
program
r
输出样例1:
ram
输入样例2:
program
x
输出样例2:
Not Found.