编制一个函数 char*Index(char*str,char c);该函数返回字符串str中的第一次出现字符c时的位置?

谁知道说下哈最好使用指针和数组这类的知识帮我写出来哈。。。。急哈先谢谢啦嘿嘿。。。... 谁知道 说下哈 最好使用指针和数组这类的知识帮我写出来哈 。。。。急哈 先谢谢啦 嘿嘿。。。 展开
 我来答
匿名用户
2013-10-29
展开全部
楼上的代码没有考虑字符串str不包含字符c的情况,一般这种情况应该返回一个空指针。 #include <iostream>using namespace std;const int n = 100;char * index(char *str, char c)
{
while(*str && *str != c)
str++;
return *str ? str : 0;
}int main()
{
char s[n], c, *p;
cout << "输入字符串:";
cin.getline(s, n);
cout << "输入要查找的字符:";
cin >> c;
if(p = index(s, c))
cout << "字符\'" << c << "\'第一次出现在字符串的第" << p - s + 1 << "个位置\n";
else
cout << "字符\'" << c << "\'没有出现在字符串中\n";
return 0;
}
匿名用户
2013-10-29
展开全部
这是完全按照要求写的cpp。其实index函数可以直接返回字符的int型位置而不需返回指针。 #include<iostream>
#define N 20
using namespace std;
char* index(char* str,char c)
{
char *p=str;
while(*p!='\0'&&*p!=c)p++;
return p;
}int main()
{
char mystr[N];
char *str=mystr;
char c;
char *posi;
cout<<"请输入字符串:"<<endl;
gets(mystr);
cout<<"请输入查询字符:"<<endl;
cin>>c;
posi=index(str,c);
cout<<"字符"<<c<<"第一次出现在字符串的第"<<posi-str+1<<"个。"<<endl;
system("pause");
return 1;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式