这个怎么找出他的下标

输入一个字符串,保存在字符型数组中,再输入一个字符,在字符数组中查找该字符,
若找到,输出该字符第一次出现的数组下标,否则输出-1.

代码如下

#include<stdio.h>

int main()
{
    char string[40];
    char c;
    printf("请输入字符串:");
    scanf("%s", string);
    printf("请输入需要查找的字符:");
    scanf("%c", &c);
    for (int i = 0; string[i]!='\0'; i++)
    {
        if (string[i] == c) {
            printf("%d\n", i);
            break;
        }
        if (string[i+1]=='\0')
        {
            printf("-1");

        }
    }
    return 0;
}

#include <iostream>
using namespace std;

int main()
{
    string str = "abdcd";
    char a = 'd';
    int index=0;//下标
    for(int i = 0; i < str.size(); ++i)
    {
        if(str[i] == a)
        {
            break;
        }
        ++index;

    }
    cout << "当前下标:" << index << endl;

    return 0;
}