⑴ c语言中当输入一个字符或数字后要要按下enter键,但enter键在提示计算机用户输入完成后也传达
其实是在输入后键入内容和回车一起进入到了缓冲区
如果没有把缓冲区内容读完那么下次再从缓冲区获取数据时就直接使用了遗留的缓冲区数据
一般来说会以换行符为结束 如果输入错误的话也会遗留其他数据
如果缓冲区只有一个换行符的话可以使用getchar来吸收换行符
或者fflush(stdin); rewind(stdin);来清空缓冲区
⑵ c语言中如何从键盘上得到数字
用scanf语句。
其实scanf是一个函数,格式是:
1、输入整型数:
scanf("%d",&a);
式中%d是整型数的格式符,a是用int a;声明过的整型数变量名。
2、输入浮点数:
scanf("%f",&b);
式中%f是浮点数的格式符,b是用float b;声明过的浮点数变量名。
然后,系统就会等待你从键盘上输入一个数字。输入数字完毕按回车键结束输入。
不知道是不是解决了你的问题,如果没有请留言。
⑶ 关于c语言中会回车键的功能
你说的执行是回车符吧('\r',
0x0d),
在这里你可以无视它.
你在按下回车键时,实际读入输入缓冲区的只有一个换行符('\n',
0x0a)。
scanf("%d",&num[i]);执行后,
你输入数字123,
按回车,输入缓冲区的内容是"123\n".
这时数字被scanf读入,
但是输入缓冲区里还有一个'\n'.
getchar()把'\n'取出,以免影响gets.
而gets在遇到'\n'时会停止读数据,所以如果不用getchar取出'\n',
gets遇到'\n'立即停止,只能读到一个空串,
'\0'.
这个'\0'是gets自己添加到字符串尾的,读不到数据就会有这样一个字符,这个是字符串结束标志,并非读到的字符。
⑷ c语言中怎么输入数字按回车键就出现预期的信息那种
只是单纯输入,只要先定义一个变量接收输入,再用scanf函数往变量里输入值。
比如:
int n;
scanf("%d",&n);
printf("%d",n);
之后你可以对n的值进行判断,决定是否执行后面的语句。
当然,也可以用getchar函数来实现输入回车,稍微复杂一点,单字符接收再转换:
int main()
{
char c;
int n=0;
while((c=getchar())!='\n')
n=n*10+c-'0';
printf("%d",n);
return 0;
}
一样可以输入999回车。
⑸ 为什么c语言这个程序输入数字之后按回车出不来啊,就只能一直回车
scanf 里面不要写多余的东西。交换应该是这样的。
⑹ c语言怎么解决scanf()把回车作为输入值的问题,请仔细看我的代码
你的问题在于空格。
如果scanf里面有空格(你当前代码),那么输入也要加上空格:6
+
5回车
如果按照你的输入,那么scanf里面格式化字符串之间的空格要去掉。
⑺ c语言编程中连续按回车输入数据问题
问题出现在scanf,因为它读到回车就停止,却把回车留在缓冲区,下一次再来时,回车还在,它就继续把回车留着,所以什么数据都没读到就又停了,这是它的设计造成的,可以在循环中用getch()函数把每一次的回车去掉,就可以解决了,比如在printf("%.2f\n",b);
一行后加getch();就可以了
⑻ C语言关于函数的题目,怎样敲了回车之后继续输入
#include<stdio.h>
#definePI3.1415926
doublegetS(doubler)
{
returnPI*r*r;
}
doublegetC(doubler)
{
return2.0*PI*r;
}
intmain()
{
charch;
doubler;
do{
scanf("%lf",&r);
printf("%.2lf,%.2lf ",getS(r),getC(r));
getchar(); // forenter
scanf("%c",&ch);
}while(ch=='Y');
return0;
}