c - 使用数组...无法找出错误

标签 c arrays

问题:编写一个函数 IndexOf,给定字符串 s 和字符 c,返回 c 在 s 中第一次出现的位置。如果c不在s中,则返回-1

#include <stdio.h>

int main(){
    char name = "Elham";
    char alph= 'a';
    printf("%d", IndexOf(name,alph));
}

int IndexOf(char s[], char c){

    int h = 0;

    while ( s[h] != '\0'){
        if (s[h] == c)
            return h;
        else if(s[h] == '\0')
            return -1;
        else 
            // Do nothing
        h++;
    }
}

错误:第 8 行:8 [注意]具有默认提升的参数类型不能与空参数名称列表声明匹配

最佳答案

您还没有提到您遇到的错误。但我看到了这些问题:

  1. 声明 char name = "Elham"; 不正确。它应该是 char *name = "Elham";

  2. 代码中的 if 条件缺少括号。

如果 s[h] == '\0' 返回 -1;

应该是:

if (s[h] == '\0') return -1;

<小时/>

希望这有帮助!

关于c - 使用数组...无法找出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42186266/

相关文章:

c - 创建帐户后用户无法登录

c - 在 vim 中使用 C 自动缩进空格?

javascript - 如何向 polymer 3 中的父组件通知数组突变

javascript - 将对象数组中的每个对象的键放入数组 : Javascript

javascript - 原型(prototype)属性迭代中的替换函数

c - char* var之间的区别;和 char *var;?

c - 如何解决这个linux定时器错误

c - 整数还是字符?哪个更快?

javascript - 获取对象数组的值

c - 按特定顺序对矩阵中的行重新排序