我需要帮助。我正在编写一个使用指针和函数计算和打印元音和辅音的程序,我的代码编译成功,但没有显示结果。
它显示";你的文本计数:0个元音和0个辅音";或";分段故障";
我想不通这个问题。
#include <stdio.h>
#include <string.h>
#define SIZE 1000
void voyelle(char *word)
{
int i,n,cons=0,vowel=0;
n=strlen(word);
while(*word<n)
{
if((*word>='a'&& *word<='z')||(*word>='A'&& *word<='Z'))
{
if(*word=='a'|| *word=='A'|| *word=='e'||*word=='E'||*word=='i'||*word=='I'||*word=='o'||*word=='O'||*word=='u'||*word=='U')
{
vowel++;
}
else
cons ++;
}
word++;
}
printf(" Your text count:%d vowels and %d consonnants",vowel,cons);
}
int main(void)
{
char text[SIZE];
printf("Input your text: ");
fgets(text,SIZE,stdin);
voyelle(text);
return 0;
}
迭代器变量已关闭,不要执行while(*word < n)
,而是在循环中执行while(i < n)
及以上的循环集i = 0
和i++
。