以下是引用当当在2004-06-02 18:34:34的发言:
这个也是一样的,还是有问题,我改成这样了:
#include <stdio.h>
void main()
{
char x[80];
int y=0,f=0,i=0;
printf("input wold:\n");
scanf("%s",x);
for(i=0;i<80;i++)//这里就是你的错误,引起f=71,因为这个循环遍历x[80],改为for(i=0;i<80&&x[i]!='\0';i++)
{
switch(x[i])
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
y++;
break;
default:
f++;
break;
}
}
printf("y=%d f=%d \n",y,f);
}
还是输入zhanghaidangwangxuelian,y=9这个算对了,但是f=71,它直接用80-9了,难道我非得输入80个字符吗?