重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include windows.h
网站建设、网站制作服务团队是一支充满着热情的团队,执着、敏锐、追求更好,是创新互联的标准与要求,同时竭诚为客户提供服务是我们的理念。创新互联建站把每个网站当做一个产品来开发,精雕细琢,追求一名工匠心中的细致,我们更用心!
#include conio.h
int main()
{
printf("如果你三秒钟之内什么也不输入,我就输出-1。\n");
Sleep(3000);
if(!_kbhit())
printf("-1\n");
else
printf("输入了%c", getchar());
return 0;
}
你试试是不是这个意思呢?
调试了一下你的程序。很明显你自己的程序没有经过调试。
说几个问题
1、toascii()不知道你在哪里实现的,我调试的时候提示该函数没有实现。
2、有几个int类型的函数没有返回。
至于你说的跳过还是无法输入,我这里没遇到。程序也简单,输入1将一个文件转码,输入2将其解码。
下面是我调试结果截图。如果这是你原来程序,并且编译能通过,检查一下你的IDE吧。明显的语法错误都能编译通过,很明显IDE出了问题,如果IDE出了问题,无法输入或者直接跳过等不正常的程序流程也就不奇怪了。
输入1的情况 ,注意黄色箭头标识的程序走动
你前面有一个 a=getchar();,输入完a的字符之后一按回车,a就被赋了你输入的那个字符,剩一个回车字符,就传到Scanf函数里去了,看起来就是被跳过了
有两种处理方法.
方法一,通过char字符判断是否==' '。如果是空格字符跳过。
例程:
#include stdio.h
#include string.h
int main (){
char letter;
printf("Please input a letter:");
do { scanf("%c",letter);} while( letter == ' ' ); //当是空格是,继续读
if(letter=97letter=122)
printf("%c",letter-32);
else
printf("%c",letter);
return 0;
}
方法二,直接用格式输入行数scanf跳过空白字符。
在scanf格式输入当中,空格符是作为分隔符号而存在的。
例程:
#include stdio.h
int main (){
char s[100];
printf("Please input a letter:");
while(scanf("%s",s)!=EOF){
printf(s);
}
return 0;
}