问题:编写一个函数 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 [注意]具有默认提升的参数类型不能与空参数名称列表声明匹配
最佳答案
您还没有提到您遇到的错误。但我看到了这些问题:
声明
char name = "Elham";
不正确。它应该是char *name = "Elham";
代码中的
if
条件缺少括号。
如果 s[h] == '\0' 返回 -1;
应该是:
if (s[h] == '\0') return -1;
希望这有帮助!
关于c - 使用数组...无法找出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42186266/