首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

新手一个有关问题 多谢大家了

2012-11-05 
新手求助一个问题 谢谢大家了这个程序要求读入数字字符(‘0’-‘9’),并把其转换为相应的整数后显示出来,如果

新手求助一个问题 谢谢大家了
这个程序要求读入数字字符(‘0’-‘9’),并把其转换为相应的整数后显示出来,如果不是数字字符继续输入。我遇到的问题是在scanf之前加了一个printf函数显示Please input char,但是问题是如果输入不是字符却总是出现两个Please input char这个显示字符窜。希望大家帮我看看。谢谢大家。[code=C/C++][/code]
#include <stdio.h>
void main()
{  
char a;
while(1)
{  
printf("Please input char\n");
scanf("%c",&a);
if(a<='9'&&a>='0')
break;
}
a-='0';
printf("%d\n",a);
}

[解决办法]
scanf("%c",&a);
fflush(stdin);
[解决办法]

C/C++ code
#include <stdio.h>void main(){   char a;while(1){   printf("Please input char\n");scanf("%c",&a);getchar();if(a<='9'&&a>='0')break;}a-='0';printf("%d\n",a);}
[解决办法]
把回车吃掉!
[解决办法]
探讨

我还是没太懂 为什么算是循环两次 不得是回车才算是字符输入结束引用:
C/C++ code
#include <stdio.h>
void main()
{
char a;
while(1)
{
printf("Please input char\n");
scanf("%c",&amp;amp;a);
getchar();
if(a<='9'&amp;a……

热点排行