求问此处为什么有 syntax error :'type'报错?
此问题源于C Primer Plus第八章练习题第五题:使用更智能的猜测策略,使程序可以猜出1-100内的任意一个整数。
如:程序最初猜50,询问用户是猜大了、猜小了还是猜对了。如果猜小了,那么下一次猜测的值应是50和100中值,耶尔就是75。如果这次猜大了,那么下一次猜测的值应是50和75的中值,等等。使用二分查找(binary search)策略,如果用户没有欺骗程序,那么程序很快就会猜到正确的答案
#include<stdio.h>
char get_choice(void);
char get_first(void);
int main()
{
int head=1;
int tail=100;
int guess=(head+tail)/2;
char ch;
printf("I will guess an integer from 1 to 100.\n");
printf("Please responde by Biger(B) or Lower(L) or Yes(Y).\n");
do
{
printf("Is your number is %d?\n",guess);
if((ch=get_choice())=='Y')
break;
if((ch=get_choice())=='B')
{
tail=guess-1;
guess=(head+tail)/2;
continue;
}
else if((ch=get_choice())=='L')
{
head=guess+1;
guess=(head+tail)/2;
continue;
}
while((ch=get_choice())!='Y');
printf("I know the answer!\n");
return 0;
}
char get_choice(void)
{
int ch;
ch=get_first();
while(ch!='B'&&ch!='L'&&ch!='Y')
{
printf("I can only know Biger or Lower or Yes.\n");
printf("Please try again!\n");
ch=get_first();
}
return ch;
}
char get_first()
{
int ch;
ch=getchar();
while(getchar()!='\n')
continue;
return ch;
}
在VC++6.0运行后会在第35行 char get_choice(void)处报错syntax error:'type'。想求问一下为什么会有这个报错?谢谢!