写一个函数接收一个字符串和一个要在字符串中搜索的字符。如果搜索字符的索引存在于数组中,则此函数返回其索引;如果不存在,则返回-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/

10-16 17:38
查看更多