您的位置:

c语言两次回车,c语言两次回车结束输入

本文目录一览:

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的行为规则吗??