描述
编写一个函数:输出字符的最后一个位置。
函数原型: char *FindLastChar(char *s,char ch);
调试函数如下:
#include <stdio.h>
int main()
{
char *FindLastChar(char *,char ch);
char s[1024],ch;
scanf("%s%*c%c",s,&ch);
char *pPos=FindLastChar(s,ch);
if(pPos==NULL)
printf(“npos”);
else
printf("%d",pPos-s);
return 0;
}
输入
输入一个字符串和一个字符,中间用一个空格分开。字符只有英文。
输出
输出字符最后一次出现的位置。如果没有出现,输出npos.
样例输入
abbba a
样例输出
4
#include <stdio.h>
int main()
{
char *FindLastChar(char *,char ch);
char s[1024],ch;
scanf("%s%*c%c",s,&ch);
char *pPos=FindLastChar(s,ch);
if(pPos==NULL)
printf("npos");
else
printf("%d",pPos-s);
return 0;
}
char *FindLastChar(char *s,char ch)
{
int i,m;
for(i=strlen(s);i>=0;i--)
if(s[i]==ch)
{
m=i;
break;
}//从数组最后一位往前找第一个ch
if(m==i)
return m+s;
else
return NULL;
}
或者:
char *FindLastChar(char *s,char ch)
{
int a=0,b=-1;
for(;s[a]!=0;a++)
{
if(ch==s[a])
{
b=a;
}
}
if(b==-1)
return 0;
else return s+b;//找到最后一个ch所在位置
}