本文介绍了做一会儿没用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char again;
do{
printf("insert y or Y to repeat");
fflush(stdout);
scanf("%c",&again);
}while(again=='y'||again=='Y');
}
我编写了这段代码以创建一个循环,当再次插入y或Y时,它会再次执行此工作,但是没有用.当我第一次输入y时,循环结束.
[edit]代码块已修复[/edit]
i wrote this code to create a loop that when insert y or Y do the job again but did not work.when i enter first y the loop be end.
[edit]code blocks fixed[/edit]
推荐答案
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char again;
do{
printf("insert y or Y to repeat");
fflush(stdout);
scanf("%c",&again);
getchar();
}while(again=='y'||again=='Y');
}
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char buf[0x100];
do{
printf("insert y or Y to repeat");
fflush(stdout);
while (scanf("%s",buf) != 1);
}while(buf[0]=='y'|| buf[0]=='Y');
}
[更新]
试试这个:
[Update]
try this one:
#include <stdio.h>
#include <stdlib.h>
int scan_frac(int *num,int *denom);
int main(void){
int num1,denom1;
char buf[0x100];
do{
if ( scan_frac(&num1,&denom1) == 2)
{
if ( denom1 != 0)
{
printf("%d/%d = %g\n", num1, denom1, ((double)num1)/denom1);
fflush(stdout);
}
}
printf("insert (y) to do another division\n");
fflush(stdout);
scanf("%s", buf);
}while(buf[0]=='y'||buf[0]=='Y');
return 0;
}
int scan_frac(int *num,int *denom){
int values;
int n,dn;
printf("insert numerator and denominator (use blank as separator): ");
fflush(stdout);
values = scanf("%d %d",&n,&dn);
*num=n;
*denom=dn;
return values;
}
[/Update]
[/Update]
这篇关于做一会儿没用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!