写一个函数接收一个字符串和一个要在字符串中搜索的字符。如果搜索字符的索引存在于数组中,则此函数返回其索引;如果不存在,则返回-1。同样,如果数组包含多个出现的字符,则它返回最左边出现的索引。例如,如果字符串是“ abab”,而搜索字符是“ b”,则该函数返回1;否则,返回1。相反,如果字符为“ c”,则函数返回-1。
使用任何C ++库函数编写函数而无需编写。
下面是我的功能。
int indexOf(const char str[], char ch)
{
int search;
for (int i = 0; i<20; i++)
{
if (ch = str[i])
search ==i;
else
search =-1;
}
return search;
}
我的问题是,当我输入搜索字符或数组中不存在的字符时,我总是得到19(20-1)。谁能告诉我如何修改代码以获得正确答案?
最佳答案
if (ch = str[i])
应该是if (ch == str[i])
,此刻您只是在分配ch
。
并且search ==i
在进行比较,应该是search = i
;所以这是第一个相反的问题。
关于c++ - 如何获得正确的字符串字符索引?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37061447/