我的函数返回的值不正确。
我试图在主要功能中执行此代码,并且可以正常工作
int f_char(char a[], char l)
{
int pos= 0;
for(int i=0; a[i]!='\0'; i++)
{
if(a[i]==l){
pos= i+1;
break;
}
}
return pos;
}
int main()
{
char a[256]= "Hola";
char l= 'l';
f_char(a, l);
printf("%c is in the position %d", l, f_char);
return 0;
}
预期结果是:
l位于3位
但这给了我
l位于4199401位置
答案 0 :(得分:1)
我认为该功能没有问题。
#include<stdio.h>
int f_char(char a[], char l)
{
int pos= 0;
for(int i=0; a[i]!='\0'; i++)
{
if(a[i]==l){
pos= i+1;
break;
}
}
return pos;
}
int main(){
char *sen= "abcd";
char x = 'c';
printf("%d", f_char(sen, x));
return 0;
}
输出:3