我有个一直让我头疼的作业要做。我有一个字符数组被称为"词[]"。它最多有64个字符长,这就是为什么'i'会一直计数到那个数字。现在我想计算数组中所有的元音,但由于某种原因,它告诉我比实际多了一个元音,最多有9个元音。从9个元音开始,它似乎给了我正确的元音数量。
#include<stdio.h>
#include<ctype.h>
int vowelcounter(char word[]) {
int count = 0;
for (int i=0; i<64; i++) {
word[i] = toupper(word[i]);
if (word[i]=='A' || word[i]=='E' || word[i]=='I' || word[i]=='O' || word[i] == 'U') {
count++;
}
}
return count;
}
int main() {
char word[64];
scanf(" %s", word);
printf("Number of vowels is %in", vowelcounter(word));
return 0;
}
我试着用一个switch case来代替if case,但是没有用。
OP的问题:
用户可以输入比最大长度短的字符串,您应该遍历数组,直到找到