高手看看c语言程序那里错了,输出不对啊
#include<stdio.h>main(){inti=0;chara;printf("猜猜我是哪个字母,最多猜5次\n");for(i=0;i<5;i++){scan...
#include<stdio.h>
main()
{
int i=0;
char a;
printf("猜猜我是哪个字母,最多猜5次\n");
for (i=0;i<5;i++)
{
scanf("%c",&a);
if (a=='G')
{
printf("被你猜中了\n");
break;
}
else if(a!='G')
printf("你猜错了,接着猜吧\n");
}
} 展开
main()
{
int i=0;
char a;
printf("猜猜我是哪个字母,最多猜5次\n");
for (i=0;i<5;i++)
{
scanf("%c",&a);
if (a=='G')
{
printf("被你猜中了\n");
break;
}
else if(a!='G')
printf("你猜错了,接着猜吧\n");
}
} 展开
9个回答
展开全部
#include<stdio.h>
void main()
{
int i=0;
char a;
printf("猜猜我是哪个字母,最多猜5次\n");
for (i=0;i<5;i++)
{
scanf("%c",&a);
fflush(stdin); /*这里是关键*/
if (a=='G') {printf("被你猜中了\n");break;}
else
{
if(i == 4) printf("Sorry.没机会喽。\n");
else printf("你猜错了,接着猜吧\n");
}
}
}
呃…… 强迫症的我……帮你写完整了…… = =
反正关键就是清空缓存区,就是用一下 fflush();
以后写什么数组什么的,经常要清空一下……
啊! 百度拙计的排版!表示受不了了……
void main()
{
int i=0;
char a;
printf("猜猜我是哪个字母,最多猜5次\n");
for (i=0;i<5;i++)
{
scanf("%c",&a);
fflush(stdin); /*这里是关键*/
if (a=='G') {printf("被你猜中了\n");break;}
else
{
if(i == 4) printf("Sorry.没机会喽。\n");
else printf("你猜错了,接着猜吧\n");
}
}
}
呃…… 强迫症的我……帮你写完整了…… = =
反正关键就是清空缓存区,就是用一下 fflush();
以后写什么数组什么的,经常要清空一下……
啊! 百度拙计的排版!表示受不了了……
展开全部
scanf("%c",&a);
输入一个字符后,你紧接着输入了一个回车符,回车符也是字符的一种啊,所以,它直接把回车符作为第二次输入的字符了。
不知道你使用的是什么环境,你需要在scanf输入后,清空一下输入缓冲区。
输入一个字符后,你紧接着输入了一个回车符,回车符也是字符的一种啊,所以,它直接把回车符作为第二次输入的字符了。
不知道你使用的是什么环境,你需要在scanf输入后,清空一下输入缓冲区。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<stdlib.h>//<----------
int main()
{
int i=0;
char a;
printf("猜猜我是哪个字母,最多猜5次\n");
for (i=0;i<5;i++)
{
scanf("%c",&a);
fflush(stdin);//<--------
if (a=='G')
{
printf("被你猜中了\n");
break;
}
else if(a!='G')
printf("你猜错了,接着猜吧\n");
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大写的G,不是小写。另外回车后输入一个符串和一个回车符,所以要加一个scanf吃掉回车符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把else if 改成 else试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询