我试图找出字符串中元音的数量,但我不知道找到未初始化数组的长度。我将遍历所有的数组元素并返回元音的数量。我浏览了论坛并读到内置的strlen函数但我想让我自己的函数理解工作而不仅仅是我的工作已完成。已经使用for循环实现了这一点,但这是一个失败..
char strin[];
printf("Check for the number of vowels in the string : \n");
scanf("%s" , &strin);
int Number_of_vowels(strin);
//a custom function to find the string length.
int string_len(char[] string)
{
//code to find the length
}
//a custom function to do the check.
int Number_of_vowels(char strin[])
{
for(i = 0 ; i < stringlength , i++)
{
//check if the input char is vowel.
}
}
答案 0 :(得分:1)
很抱歉,因为我还没有评论,我也在我的iPad上,所以格式化会很糟糕。但是,当strin[]
传入Number_of_Vowels()
时,为什么不花费strin[]
的长度?
你已经将{{1}}数组传递给它了,所以该数组的属性也应该进入方法。
答案 1 :(得分:0)
使用scanf的返回值。
int stringlength;
int vowels;
stringlength = scanf("%s", &strin);
vowels = Number_of_vowels(strin, stringlength);
int Number_of_vowels(char strin[], int stringlength)
{
int vowels = 0;
int i;
for (i = 0; i < stringlength, i++) {
// Code testing for vowels (possibly a switch loop testing ASCII values)
}
return vowels;
}