c++求助关于字符匹配函数int index(char*s,char*t)的问题

阿篮go 2016-08-19 01:02:18
编写函数int index(char *s,char *t),返回字符串 t 在字符串 s 中出现的最左边的位置,没有则返回-1



我用的是vs2015,运行后输出永远是不匹配,应该是怎么输入返回值总是-1

实在找不出哪里出了问题,求大神指点啊!!
#include<iostream>
using namespace std;

int index(char*s, char*t) {
int i, j, k;
for (i = 0; s[i] != '\0'; i++) {
for (j = i, k = 0; t[k] != '/0'&& t[k] == s[j]; j++, k++)
;
if (t[k] == '/0')
return i;
}

return -1;
}

void main() {
char a[20], b[20];
int n;
cout << "请输入一个单词" << endl;
cin >> a;
cout << "请输入一个单词" << endl;
cin >> b;
n=index(a, b);
if (n > 0)
cout << n << endl;
else
cout<< "不匹配 " <<<< endl;




}
...全文
195 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灸舞 2016-08-19
  • 打赏
  • 举报
回复
引用 2楼我是你的主体 的回复:
[quote=引用 1 楼 小灸舞的回复:]'/0'和 '\0'是不一样的

#include<iostream>
using namespace std;

int index(char*s, char*t) {
	int i, j, k;
	for (i = 0; s[i] != '\0'; i++) {
		for (j = i, k = 0; t[k] != '\0'&& t[k] == s[j]; j++, k++)
			;
		if (t[k] == '\0')
			return i;
	}

	return -1;
}

void main() {
	char a[20], b[20];
	int n;
	cout << "请输入一个单词" << endl;
	cin >> a;
	cout << "请输入一个单词" << endl;
	cin >> b;
	n = index(a, b);
	if (n > 0)
		cout << n << endl;
	else
		cout << "不匹配 " <<  endl;




}
啊啊啊,对对对!我太粗心了!谢谢![/quote]解决了记得结帖
阿篮go 2016-08-19
  • 打赏
  • 举报
回复
引用 1 楼 小灸舞的回复:
'/0'和 '\0'是不一样的

#include<iostream>
using namespace std;

int index(char*s, char*t) {
	int i, j, k;
	for (i = 0; s[i] != '\0'; i++) {
		for (j = i, k = 0; t[k] != '\0'&& t[k] == s[j]; j++, k++)
			;
		if (t[k] == '\0')
			return i;
	}

	return -1;
}

void main() {
	char a[20], b[20];
	int n;
	cout << "请输入一个单词" << endl;
	cin >> a;
	cout << "请输入一个单词" << endl;
	cin >> b;
	n = index(a, b);
	if (n > 0)
		cout << n << endl;
	else
		cout << "不匹配 " <<  endl;




}
啊啊啊,对对对!我太粗心了!谢谢!
小灸舞 2016-08-19
  • 打赏
  • 举报
回复
'/0'和 '\0'是不一样的

#include<iostream>
using namespace std;

int index(char*s, char*t) {
	int i, j, k;
	for (i = 0; s[i] != '\0'; i++) {
		for (j = i, k = 0; t[k] != '\0'&& t[k] == s[j]; j++, k++)
			;
		if (t[k] == '\0')
			return i;
	}

	return -1;
}

void main() {
	char a[20], b[20];
	int n;
	cout << "请输入一个单词" << endl;
	cin >> a;
	cout << "请输入一个单词" << endl;
	cin >> b;
	n = index(a, b);
	if (n > 0)
		cout << n << endl;
	else
		cout << "不匹配 " <<  endl;




}

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧