我是初学者,学习C.
我正在尝试编写一个简单的程序来计算用户输入的字符串中的元音数量.我正在使用do-while循环来迭代字符串.这是我的代码:
#include<stdio.h>
#include<conio.h>
void main()
{
int a[10], x=0, v=0;
clrscr();
printf("ENTER A STRING: ");
gets(a);
do {
if(a[x]=='a' || a[x]=='e' || a[x]=='i' || a[x]=='o' || a[x]=='u')
v++;
x++;
} while(a[x] != '\0');
printf("\nTHERE ARE %d VOWELS IN THE STRING.",v);
getch();
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,无论输入多少元音,输出都会变为1或0.
这是输出:
ENTER A STRING: aeiou
THERE ARE 1 VOWELS IN THE STRING.
Run Code Online (Sandbox Code Playgroud)
我无法解决这个错误.