回 帖 发 新 帖 刷新版面

主题:scanf输入问题

#include<stdio.h>
#include<conio.h>
main()
{
 int a;
 clrscr();
 gotoxy(15,1);  /* 设光标位置 */
 printf("input score:");
 while(scanf("%d",&a)!=1)fflush(stdin);
 gotoxy(15,2);
 printf("score is:%d",a);
}

如果开始就输入回车就跳到下一行开头输入,这样我在那一行原有的显示内容就被覆盖掉,请问大家有什么好办法防止输入一开始就空回车.

回复列表 (共3个回复)

沙发

那就只能完全重写输入了……

板凳

总算找到了..不知道会不会有问题这样转
#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
 char a[5];
 int b;
 clrscr();
 gotoxy(15,1);
 printf("input score:");
 gets(a);
 b=atoi(a);  /*字符串转换整型数*/
 gotoxy(15,2);
 printf("score is:%d",b);
}

3 楼

用getch()往字符串里面读入,最后用atoi转换类型;
由于getch()一个一个字符读入,所以可以抱枕自己的应用。

我来回复

您尚未登录,请登录后再回复。点此登录或注册