本文目录一览:
- 1、C语言 为什么按两下回车才运行
- 2、C程序,为什么第一次输入计算不出结果 按2下回车键后再输入就可以出结果
- 3、c语言 输入若干行字符串,行数不确定,以连敲两次回车结束输入。然后输出与输入相同字符串
- 4、C语言中回车怎么打
- 5、为什么C语言中输入后字符要按两次回车才能执行下面代码?
- 6、C++程序,为什么这个程序输入要按2次回车才能输出来,要怎样修改使得按一下回车就有输出?
C语言 为什么按两下回车才运行
c语言通过标准输入设备(键盘)输入的时候是先把数据存到缓冲区里面。
首先编译器看到scanf("%c", ch);后知道需要一个字符,那么就在缓冲区里寻找找是否有一个字符,如果缓冲区中没有则会请求用户输入。而如果缓冲区有字符的话就会把缓冲区里的字符存入变量中。在你刚才的输入时,字符'a'和回车('\n')都会存放在缓冲区中,所以第二次scanf不会请求用户输入而直接把\n存到变量中去了。
你可以这样写:
printf("Please enter a character:\n");
scanf("%c\n",ch);
这样可以把换行字符从缓冲区清除掉。
你可以ctrl+z或者ctrl+d
C程序,为什么第一次输入计算不出结果 按2下回车键后再输入就可以出结果
scanf("%f %c %f",x,a,y);
while(scanf("%f %c %f",x,a,y)==3)
这里你的scanf()函数你写了两遍,就意味着你要完成两次输入!
所以你需要按两下回车来确认两次输入结束!
修改方法很多,最简单的就是把第一个scanf()函数去掉!
c语言 输入若干行字符串,行数不确定,以连敲两次回车结束输入。然后输出与输入相同字符串
这个应该满足要求
你可以先试试
#include stdio.h
int main()
{
char s;
char p;
s = 0;
while(p=getchar())
{
if(p=='\n's==p)
break;
s = p;
putchar(p);
}
return 0;
}
C语言中回车怎么打
#include
stdio.h
#includeconio.h
void
main()
{
while(1)
{
printf("in
the
while\
");
if(getch()=='\\r')
break;
}
printf("out
of
the
while\
");
}
这个程序是只需要按一下回车就可以退出了。(用getchar函数,则需按两次)
附:
getchar和getch的区别
getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).
getchar函数的返回值是用户输入的第一个字符的ascii码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.
getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回,getch返回值是用户输入的ascii码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行.
相同点都是从键盘上读入一个字符。
getch()从键盘读入一个字符且不回显。
为什么C语言中输入后字符要按两次回车才能执行下面代码?
这具体要看楼主所说的代码是如何的了。
char ch;
scanf("%c",ch);
printf("%c",ch);
很明显只要一次回车就可以执行下面代码的。
#include stdio.h
int main()
{ char ch;
scanf("%c",ch);
printf("%c:%d",ch,ch);
return 0;
}
C++程序,为什么这个程序输入要按2次回车才能输出来,要怎样修改使得按一下回车就有输出?
需要两次的原因:
while (getline(cin, line)) //程序停(阻塞)在这里等待输入。你输入后,返回一个长度(非零值)
{
cout line endl; // 程序执行
} //到这里后,程序将继续回到while (getline(cin, line)) 处等待。为什么?C语言就这么规定的
第二次输入回车,getline(cin, line)返回0,退出while。修改:直接去掉while。
int main()
{
string line;
// read line at time until end-of-file
getline(cin, line);
cout line endl;
return 0;
}
斗胆问一下:
1. 您当初要while,想让他干什么??
2. 您很了解while的行为规则吗??