getchar [问题点数:20分]

Bbs1
本版专家分:0
结帖率 0%
Bbs1
本版专家分:22
Blank
GitHub 绑定GitHub第三方账户获取
Bbs8
本版专家分:48048
Blank
黄花 2018年10月 C/C++大版内专家分月排行榜第二
2018年6月 C/C++大版内专家分月排行榜第二
2018年1月 C/C++大版内专家分月排行榜第二
2017年12月 C/C++大版内专家分月排行榜第二
2017年8月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2018年5月 C/C++大版内专家分月排行榜第三
2018年4月 C/C++大版内专家分月排行榜第三
2018年3月 C/C++大版内专家分月排行榜第三
2018年2月 C/C++大版内专家分月排行榜第三
2017年11月 C/C++大版内专家分月排行榜第三
2017年10月 C/C++大版内专家分月排行榜第三
2017年9月 C/C++大版内专家分月排行榜第三
2017年6月 C/C++大版内专家分月排行榜第三
2017年5月 C/C++大版内专家分月排行榜第三
2017年4月 C/C++大版内专家分月排行榜第三
2017年3月 C/C++大版内专家分月排行榜第三
getchar()
[code=c] while (n--)rn rn U=0,I=0,P=0;rn printf("Problem #%d\n", count++); rn <em>getchar</em>(); //这个用来吃上面的回车rn gets(str);rn for(i=0;str[i]!='\0';i++)rn rn if(str[i]=='=')rn rn for(j=i+1;str[j]!='A'&&str[j]!='W'&&str[j]!='V';j++)rn rn if(str[j]=='m') sum=sum*0.001;rn else if(str[j]=='k') sum=sum*1000;rn else if(str[j]=='M') sum=sum*1000000;rn else if(str[j]=='.') pos=j;rn elsern rn if(pos==0)rn sum=sum*10+str[j]-'0';rn elsern sum=sum+pow(10,pos-j);rn rn rn rn if(str[j]=='A') I=sum;rn if(str[j]=='W') P=sum;rn if(str[j]=='V') U=sum;rn rn rn sum=0;rn pos=0;rn rn if(P==0) printf("P=%.2lfW",U*I);rn else if(I==0) printf("I=%.2lfA",P/U);rn else if(U==0) printf("U=%.2lfV",P/I);rn printf("\n\n");rnrn [/code]rn奇怪的是第一次循环<em>getchar</em>吃掉了 回车,但是第二次循环的时候他就不吃,让我输入一个字符!
getchar();
程序中的一句不是很懂rnch=<em>getchar</em>();rnch=toupper(ch);/*得到大写字母*/rn<em>getchar</em>();/*去掉回车符*/rn我不是很明白<em>getchar</em>();为什么是去掉回车符.rn是什么原因呢?谢谢啊!
getchar()与ch=getchar()
#include rnrnint main(void)rnrn int input;rn char ch;rnrn while(scanf("%d", &input) != 1)rn rn while((ch = <em>getchar</em>()) != '\n')rn putchar(ch);rn printf(" isn't a integer.please input again\n");rn rn printf("%d\n", input);rnrn return 0;rnrnrn图如下。 我不明白这两个区别在哪rn[img=https://img-bbs.csdn.net/upload/201508/16/1439689944_929827.png][/img][img=https://img-bbs.csdn.net/upload/201508/16/1439689959_915649.png][/img]
scanf和getchar的区别,getchar的妙用
 今天再看<em>getchar</em>()函数,发现与scanf函数的知识混淆了,查找资料得出下面信息。 字符数据的输入:   scanf()函数是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量中。   在scanf()语句的格式串中由于没有非格式字符在“%d%d%d”之间作为输入时的间隔,因此在输入时要用一个以上的空格或回车符作为每两个输入数之间的间隔。   scanf()在读取
getchar( )“输入”和getchar( )“输出”用法
#include &amp;lt;stdio.h&amp;gt; int main() { char ch; printf(&quot;please input a char:&quot;); putchar(10);//回车的功能 ch=<em>getchar</em>();//从键盘输入一个字符 putchar(ch);//向屏幕输出一个字符 return 0; } 打印结果: ...
getch()和getchar()
getch()和<em>getchar</em>()的区别
getchar的用法
调用<em>getchar</em>的时候,程序等待用户按键。输入的字符存入键盘缓冲区,直到有enter键。 <em>getchar</em>函数的返回值是输入的第一个字符。每个<em>getchar</em>收一个字符。 例: #include #include void main(){ char ch1,ch2; int a; ch1=<em>getchar</em>(); ch2=<em>getchar</em>(); scanf("%d",&a)
getchar()的使用
1.<em>getchar</em>()每一次从队列中取一个字符,当队列中没有字符可取得时候,控制台便跳出来让你输入 2.fflush(stdin); //作用是清除队列 3.char ch=<em>getchar</em>(); //只有队列中取空才会跳出控制台让你输入,不然就直接从队列中取第一个字符给ch 例如: 输入:ABG 队列中就有ABC 只有按下,语句char ch=<em>getchar</em>(); 才会执行完毕,跳到
putchar()与getchar()
putchar函数的作用:向终端输出一个字符。 (1)putchar函数只能用于单个字符的输出,且一次只能输出一个字符。 #include using namespace std; int main() { char ch; ch = <em>getchar</em>();//<em>getchar</em>()是用来读入键盘输入的字符  putchar(ch);//putchar()是输
getchar()问题
#includernmain()rnrn char c;rn c=<em>getchar</em>();rn printf("%c",c);rnrn这个程序,为什么在输入一个字符并回车确认后并没有输出这个字符?
字符变量与getchar
注意:当程序中定义有字符变量时,往往要用到<em>getchar</em>来吸收回车,不然输入的字符有可能被吞掉,具体<em>getchar</em>放哪还不熟悉,所以。。。慢慢试吧
关于getchar
[code=C/C++]#include rnvoid display(char cr, int lines, int width);rnint main(void)rnrn int ch; rn int rows, cols; rnrn printf("Enter a character and two integers:\n");rn while ((ch = <em>getchar</em>()) != '\n')rn rn if (scanf("%d %d",&rows, &cols) != 2)rn break;rn display(ch, rows, cols);rn while (<em>getchar</em>() != '\n')rn continue;rn printf("Enter another character and two integers;\n");rn printf("Enter a newline to quit.\n");rn rn printf("Bye.\n");rn rn return 0;rnrnrnvoid display(char cr, int lines, int width)rnrn int row, col;rnrn for (row = 1; row ); rn rn[/code]rnwhile语句使程序剔除scanf () 输入后的所有字符,包括换行符,这样就让循环准备好读取下一行开始的第一个字符,rn这就意味着您可以自由地输入数据.rnrn对while语句使程序剔除scanf () 输入后的所有字符,包括换行符这句话有点儿不明白,这里是什么机制。
getchar()的问题
poj上的一道题 rnsample inputrn6rn...........XX.......rn..........MMMM......rn..........K.........rn........KKK.........rn.....ZAAA.FFF.......rn.....ZZZA..F.B......rnrnrnrn然后输入那一块rn while(scanf("%d",&n) != EOF)rn rn memset(used,0,sizeof(used));rn for(i = 0; i < n; i++)rn rn <em>getchar</em>;///这里。。。。。rn for(j = 0; j < 20; ++j)rn scanf("%c",&c[i][j]),used[c[i][j] - 'A'] = 1;rn rn getmap();rn toposort();rn for(i = 0; i < tp; i++)printf("%c",topo[i] + 'A');rn printf("\n");rn rnrn请问 中间那个<em>getchar</em>()有什么用。。为什么没有他就wrong answer。
cin与getchar()
// template.cpp : 定义控制台应用程序的入口点。rn//统计字符的程序rnrn#include "stdafx.h"rn#include rnusing namespace std;rnrnint _tmain(int argc, _TCHAR* argv[])rnrn char c;rn int b=0;rn cout<<>c;rn rn while(c!='\n')rn rn c=<em>getchar</em>();rn if(c>='a'&&c='A'&&c<
ch=getchar()和ch=getchar( )有什么区别
今天我在看以前学过的书时,在文件这一章,发现有这两行语句:rnrnch=<em>getchar</em>(); /* 此语句用来接收在执行scanf语句时最后输入的回车符 */rnch=<em>getchar</em>( ); /* 接收输入的第一个字符 */rnrn我之前还真没在意,是我误解了什么还是我当时没学好,不知道多了一个空格有什么不一样?
关于getchar()
DEV-C++4992:rn本这代码就两条,为说明方便就加了几条rn#include rnrnint main()rnrnint a;rnchar b;rnputchar('1'); /*提示1后,等待一次输入进a*/rnputchar('\n');rna=<em>getchar</em>();rnputchar('2'); /*提示2后,等待一次输入进b*/rnputchar('\n');rnb=<em>getchar</em>();rnputchar('@'); /*输出部分的前后用@~@来标记*/rnputchar('\n');rnputchar(a);rnputchar('\n');rnputchar(b);rnputchar('\n');rnputchar('@');rn getch();rnrn原我设想:这个程序运行时,按a,回车,按b,回车.那么b=<em>getchar</em>();会产生第二次等待输入.rn就是说执行完a=<em>getchar</em>()后会有个b=<em>getchar</em>();等待继续输入.rn可是,我输入一个字符(或几个字符)后,按下会车.再没有等待输入,那么程序程序只会输出a.rn经自己多次实验.就是说执行a=<em>getchar</em>();后不论输入多少个单字符,只要按下回车后,后面那个b=<em>getchar</em>();不再会实现等待输入一个字符.直接会去执行后续的putchar(a);putchar('\n');putchar(b);rnrn这是为什么???望详解!rnrn如:rn1rnarn2rn@rnarnrnrn@rnrn***********rnrn再如:rn1rnabcdrn2rn@rnarnbrn@rnrnrn**********rnrn为什么b=<em>getchar</em>();会不被执行????????????rn
getchar()的一些问题
之前一直弄不明白<em>getchar</em>()明明接收的是一个字符,但为什么可以输入一长串字符,然后系统会一个一个读取。今天做数据结构报告的时候,又遇到了这个问题,上网查了查,才知道用户可以输入很多字符到缓存区(包括回车),然后根据<em>getchar</em>()函数来一个一个进行读取,所以这也就解释了为什么有时候要在函数结束前加一个<em>getchar</em>(),来等待用户输入一个任意键,以达到暂停程序的作用。...
getchar()的疑问
这是C和指针第一章举的那个例子。其中的一部分我看不明白。大家帮我分析下rn#include "stdio.h"rn#include "stdlib.h"rn#include "string.h"rn#define MAX_COLS 20rn#define MAX_INPUT 1000rnrnintrnread_column_numbers(int columns[],int max);rnrnvoidrnrearrange(char *output,char const *input,int n_columns,int const columns[]);rnrnrnintrnmain(void)rnrn int n_columns;rn int columns[MAX_COLS];rn char input[MAX_INPUT];rn char output[MAX_INPUT];rn rn n_columns = read_column_numbers(columns,MAX_COLS);rn rn while(gets(input)!=NULL)rn printf("Original input : %s\n",input);rn rearrange(output,input,n_columns,columns);rn printf("Rearrange line %s\n",output);rn rn return EXIT_SUCCESS;rn rnrn system("PAUSE");rn return 0;rnrnrnintrnread_column_numbers(int columns[],int max)rn int num=0;rn int ch;rn rn while(num=0)rn num+=1;rn if(num%2!=0)rn puts("Last column number is not paired.");rn exit(EXIT_FAILURE);rn rn while((ch=<em>getchar</em>())!=EOF&&ch!='\n')//这里<em>getchar</em>到底是要干什么呢?书上说是丢掉该行中包含最后一个数字的那部分内容。如果我的输入是4 9 12 20 -1,是不是-1要被丢弃?可是我检查变量,-1被存储到columns[4]里了。那这个语句又有什么用?rn ;rn return num;rnrnrnvoidrnrearrange(char *output,char const *input,int n_columns,int const columns[])rn int col;rn int output_col;rn int len;rn rn len=strlen(input);rn output_col=0;rn rn for(col=0;col=len||output_col==MAX_INPUT-1)rn break;rn rn if(output_col+nchars>MAX_INPUT-1)rn nchars=MAX_INPUT-output_col-1;rn rn strncpy(output+output_col,input+columns[col],nchars);rn output_col+=nchars;rn rn output[output_col]='\0';rnrn
getchar问题
int main()rn int c;rn while((c=<em>getchar</em>()!=EOF))rn putchar(c);rn rn return 0;rnrnrn为什么输入数据按回车后输出的是笑脸。
getchar()的运行方式
关于<em>getchar</em>()读取字符的运行方式 while((c=<em>getchar</em>())!=EOF) 键盘可以输入多个字符,此时的字符处于键盘的缓冲区,还没有进入到输入缓冲区,当按下enter时,输入的字符和enter一个一个的进入输入缓冲区。 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文...
getchar()的妙用
在最新的vs编译工具下我们经常会用到控制台程序,这时候没有界面,当我们编译运行的时候,闪动一下就没有了,查了好多资料说修改一下属性即可,但这不是最好的方式,我们可以在源码最后加上一句 <em>getchar</em>()就可以看清楚了;1.ctrl + f5 //这是快捷键2.本地window调试器3.加<em>getchar</em>()测试一下吧/* */#include &amp;lt;stdio.h&amp;gt;main(){ int a...
getchar()错误
int c = <em>getchar</em>()rn用gcc编译时提示 parse error before `int'错误,这是怎么回事?
getch和getchar
getch();和<em>getchar</em>();rn这两个函数有什么不同?
getchar() 与缓冲区
上一篇博客中的最后两句是睡前加进去的,就没有进行调试, printf (&quot;\t\t按Enter键返回\n\t\t&quot;); <em>getchar</em>(); 使用<em>getchar</em>()来 使程序暂停运行,但今天发现<em>getchar</em>并没有起到我想要的作用,程序好像都没有走<em>getchar</em>,或者直接跳过了这一句。 主要原因是因为上面的while语句中使用了scanf函数。 scanf函数 C语言中输入函数scanf使用不当...
详解getchar()函数与缓冲区
1、首先,我们看一下这段代码:它的简单意思就是从键盘读入一个字符,然后输出到屏幕。理所当然,我们输入1,输出就是1,输入2,输出就是2。那么我们如果输出的是12呢?它的输出是1。这里我们先简单的解释下,因为当我们从键盘输入字符‘1’,‘2’,并按下回车后,我们的输入被放入了输入缓冲区,这个时候<em>getchar</em>()会从缓冲区中读取我们刚才的输入,一次只读一个字符,所以字符1就被拿出来了,赋值给了c,然...
getchar()函数
一、gechar() 1、概念 <em>getchar</em>()函数从键盘上读入一个字符,并显示该字符(回显)【敲什么键盘上就会显示什么】,但只有第一个字符作为函数的返回值。  通常这样调用: char ch;                        ch=<em>getchar</em>();                        等同于scanf("%c",&ch); <em>getchar</em>()函数的括号中没
getchar ()的问题
有这样一段程序:rn#include rnrnvoid main ()rnrn char c;rn int n;rn rn scanf ("%d",&n);rn c=<em>getchar</em> ();rnrn执行后rn输入n值,敲回车rn'\n'驻留在缓冲区中,使得c='\n'rn该如何解决rn谢谢
getchar()再问
请问当使用<em>getchar</em>()时,是不是从输入缓冲区里读取以后,该位置就会被清空。也就是说<em>getchar</em>()能清空输入缓冲区?
getchar 问题
请教一个问题:rn[code=c]#include rnrnint main()rnrn int c;rnrn while((c = <em>getchar</em>()) != EOF )rn rn putchar(c);rn rn[/code]rnrn运行后键盘输入一个字符按回车,得到一个字符的输出。好理解。rnrn为什么键盘输入多个字符再按回车,才得到是一连串的字符输出?是不是在只有在输入回车时,才将输入流中的字符一个个传给 int c ?
getchar()与getch()
#include rnint main(void)rnrnchar a;rna=<em>getchar</em>();rnswitch(a)rnrncase 't':rnprintf("输入第二个字母:");rnif(<em>getchar</em>()=='u')rnprintf("tuesday\n");rnelse if(<em>getchar</em>()=='h')rnprintf("thursday");rnelsernprintf("data error");rnbreak;rncase 'm':rnprintf("monday");rnbreak;rndefault:rnprintf("date error");rnbreak;rn rnrnrn先输入't'后再输入'u'后直接输出"data error",怎么会这样啊?
getchar()的问题?
小弟想让数据按如下方式输入和显示rn100 288rnABECEDrn20 30rnABCrnrn写了程序后,发现20的位置显示为0,其他的都正确,不知道是什么原因,难道是<em>getchar</em>用错了?求解?谢谢!rn#include rn#include rn#include rnstruct nodernrn int M1;rn int M2;rn char cc[200];rn;rnstruct node qilu[100];rnint main(int argc,char **argv)rn rn int i=0,j,c; rn dorn rn scanf("%d %d\n%s",&qilu[i].M1,&qilu[i].M2,qilu[i].cc); rn i++;rn <em>getchar</em>();rn while ((c = <em>getchar</em>()) != '\n');rnrn //显示rn for(j=0;j
getchar()&putchar()
while((c=<em>getchar</em>())!=EOF)rn putchar(c);rn如果是输出多个字符的话我不明白上面这个程序的流程rn不过输出单个字符的话我还可以理解rnarnarnbrnbrncrncrndrndrn...rn请问输出多个字符时的流程 例如rnabcdernabcdern程序是怎么运行的rnrn
getchar()的用法
<em>getchar</em>()可以从键盘输入得到一个字符,但也可以用来得到连续字符,请问这具体是如何实现的?
getchar缓冲区
<em>getchar</em>()函数等待输入直到按回车才结束(前提是缓冲区没有数据),回车前的所有输入字符都会逐个显示在屏幕上。 #include #includeint main(){ int ch; while((ch = <em>getchar</em>()) != EOF){ putchar(toupper(ch));
名不副实的getchar()
名不副实的<em>getchar</em>()
getchar的问题。
#include rnrnvoidrnmain()rnrn char c;rn rn while ((c = <em>getchar</em>()) != EOF)rn putchar(c);rnrnrn以上程序运行正确,但是K&R说变量c最好定义为int型,请问是为什么?
getchar()的作用
以下是建立图的邻接表的一部分:rn[code=C/C++]rn//建立邻接表rnvoid MakeGraph(Graph *G)rnrn int v1,v2;rn int i,j,k;rn cout<<>G->vernum>>G->edgenum;rn cout<>G->vertexs[i].vertex;rn G->vertexs[i].firstedge=NULL;//初始第一条边为空rn [/code]rnrn想问一下这里使用<em>getchar</em>()的作用是什么,把<em>getchar</em>()去掉之后程序好像也能运作
getchar gets
rn尹成老师带你步入C语言基础的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,rnrn整个教程以C语言为核心,完整精彩的演练了C语言操作流程以及各种精彩的小项目等,rnrn提高竞赛能力,非常适合同学们学习!
getchar()的迷惑
[code=C/C++]rn while (scanf("%c",&ch1))rn rn <em>getchar</em>();//吸取回车键,不然会循环下一个会是回车的ASCII码rn ch2=ch1-32;rn printf("%c %d\n",ch1,ch1);rn printf("%c %d\n",ch2,ch2);rn printf("请输入ASCLL码表的字符:");rn rn[/code]rn什么叫吸取回车键呀?不明白,麻烦给讲清楚点呀。。。
getchar()怎样用??
#include "stdafx.h"rn#includernint g_nNum;rnrnint main(int argc, char* argv[])rnrn int i=198;rn g_nNum=1003;rn while(1)rn rn printf("i= %d,addr=%081X; g_nNum=%d,addr=%081X\n",++i,&i,--g_nNum,&g_nNum);rn <em>getchar</em>();rn rnrn return 0;rnrn比如说这个程序中<em>getchar</em>()是什么意思
getchar()之迷惑
代码如下,程序运行效果:rnwhyhowrnwhyhowrn问题:为什么再输入一整句whyhow后,按回车才可以显示?rnwhile语句之前的c=<em>getchar</em>()到底起什么作用?rn我加了断点发现,敲入回车之后才可以进入while语句,然后逐个判断并输出。rn之前的输入被存放到哪里了?rnrn[code=C/C++]rn#include "stdafx.h"rn#include rn#include rnusing namespace std;rnrnint _tmain(int argc, _TCHAR* argv[])rn rn int c;rn rn c = <em>getchar</em>();rn while (c != EOF) rn rn putchar(c);rn c = <em>getchar</em>();rn rn return 0;rnrn[/code]
关于getchar()?
我想实现一个输入一个字符不按回车的情况下输出一段字符,就是类似MFC中的OnChange事件类似的功能。rnwhile( <em>getchar</em>() )rnrn printf( "ok" );rnrnrn但是在输入's'时,没反应,当再次输入回车时出来两个"ok",好像这张输出是一种缓冲后收到回车才输出,我想直接输入一个字符时就输出一次"ok",请问该如何实现?rnrn谢谢!!
getchar()和getch()
getch()是vc下的吗? C下面好用吗?rn 还有<em>getchar</em>()是c还是vc下的函数呢rn rn
关于getchar()函数
char ch = <em>getchar</em>(); 功能是获取输入缓冲区内的一个字符,当调用<em>getchar</em>()时在命令窗口输入一串字符,以后再调用它则只会依次读取剩下的字符而不会读取新输入的字符。如:char ch1 = <em>getchar</em>(); <所以可以if ((c = <em>getchar</em>()) ==
getchar()函数使用要点
注意点: 该函数一次只能读取一个字符,但只在键盘上输入一个字符(回车外)时,<em>getchar</em>()函数读不到任何字符,只有按下回车之后<em>getchar</em>()函数才会真正读取字符键盘上按下的回车键当做一个字符来处理,不会被忽略<em>getchar</em>()函数的返回值就是读取到的一个字符
getchar()的特殊用法
printf("\n输入第%d学生的信息。\n",i+1); printf("学号:"); scanf("%ld",&sno[i]); <em>getchar</em>(); printf("姓名:"); gets(sname[i]); <em>getchar</em>( );提取输入流中的数据,防止出现下面的姓名变量,你还没输入,就直接被赋值的情况。
关于getchar和putchar
请教各位老大,<em>getchar</em>和putchar是不是有一种类似queue的储存机制啊,在用户按下enter前,将所有读取的char放到一个queue中,在用户输入enter后再输出rn比如这个函数:rn#include rn#include rnrn#define TRUE 1rn#define FALSE 0rnrnint main(int argc, char *argv[]) rnrn int ch;rn int endSentence;rnrn endSentence = TRUE;rn while ((ch = <em>getchar</em>()) != EOF) rn if (isalpha(ch) && endSentence) rn ch = toupper(ch);rn endSentence = FALSE;rn else if (ch == '.') rn endSentence = TRUE;rn rn //printf("%c", (char)ch);rn putchar(ch);rn rnrn return 0;rnrn虽然在while结构中是读取了一个char立马输出(putchar),但是运行结果却是用户按下enter后将所有的char一并输出(将每句的第一个char大写)rnrn如果我在putchar前面加入一行printfprintf("%c", (char)ch); 那么输入的不仅是每个char都双倍,而且还会在所有char都输出后继续输出一空行,这个空行又是哪里来的呢?小弟百思不得其解,特来请教各位老大,还有我对<em>getchar</em>和putchar的储存queue猜想是不是正确的呢?
getchar()有什么用
各位高手看一下这个程序rn#includernvoid main()rnrn int i,j;rn for(i=1;i);rn rn <em>getchar</em>()rnrn这是一道乘法口诀表程序,最后的<em>getchar</em>()有什么用,我删掉后程序也一样,但加在这也许有一定的道理呀.请高手指点
c中getchar()的问题
rnc=<em>getchar</em>(); //(1)rnwhile(1)rnrn if(c=='n')rn break;rn printf("continue(y/n)?");rn c=<em>getchar</em>(); //(2)rnrn执行到(1)时输入y,回车,这时c='n',但是执行到(2)就不会在让你输入了,这是C=‘\n’.rn也许这里用<em>getchar</em>()不合适,应该用哪个函数,才会在(1)(2)时都会停下让你输入呢?
getch() 和 getchar() 有什么区别?
如题
scanf()与getchar()到底是怎么回事?
为什么有的时候要在scanf()后面加一个<em>getchar</em>()才可以正常运行?难道是<em>getchar</em>()把回车吃了?说什么要清除缓冲区之类的,到底这是怎么回事?有没有避免的方法?
学习笔记—getch();与getchar();
对于暂停程序我一直用得是<em>getchar</em>();的,自己平时运行调试的时候一般会用回车键,所以一直没注意到这个问题,直到我看到了自己写下的提示语句,按任意键继续。。。 好了,我觉得上一句话对getch();与<em>getchar</em>();的最大区别表达的很明显了。 下面再来比较正经的叙述一下: getch();输入任何字符都会进入下一步,并且输入的字符不会显示在屏幕上; <em>getchar</em>();无论输入多少字符,只...
请教getchar问题
[code=C/C++][/code]rnrn#include rnrnmain()rnrn int nc;rn for (nc = 0; <em>getchar</em>() != EOF; ++nc)rn printf("%d\n", nc);rnrnrnrn[code=C/C++][/code]rnrn#include rnrnmain()rnrn int nc;rn int c = <em>getchar</em>();rn for (nc = 0; c != EOF; ++nc)rn printf("%d\n", nc);rnrnrnrnrn问题:rn1、两段代码输出为什么不一样?rnrn2、第一段代码我输入n个字符,它就输出n+1个数,为什么?
求解答,关于getchar
[color=#FF0000]目的输入a输出e,b-f,输入w输出a,z-d等等。rn请问为什么不能输入字符串,输出字符串?rn例如输入china,输出glmre?rn如何更改以实现?[/color]rn[code=C/C++]rn#includernvoid main()rnrn char c;rn while ((c=<em>getchar</em>())!='\n');rn rn if((c>='A'&&c='a'&&c('Z'-4)&&c('z'-4)&&c,c);rnrn[/code]rn[color=#FF0000]目的输入a输出e,b-f,输入w输出a,z-d等等。rn请问为什么不能输入字符串,输出字符串?rn例如输入china,输出glmre?rn如何更改以实现?[/color]
getchar()进一步的疑惑
rnrn编译环境为:MinGW,rnrn系统环境:winXP rnrnrnrn[code=C/C++] int c;rn while ( 1 )rn rn if ( ( c = <em>getchar</em>() ) != EOF )rn rn break;rn rn putchar( c );rn rnrn[/code]rnrn结果:输入“selir”紧接着“Ctrl + z”会直接退出循环。rnrnrnrn疑问:rnrn<em>getchar</em>(),rn根据了解,它的作用是从stdin流中读入一个字符,也就是,如果stdin有数据的话不用输入它就可以直接读取了,第一次<em>getchar</em>()时,确实需要人工的输入,但是如果你输入了多个字符,以后的<em>getchar</em>()再执行时就会直接从缓冲区中读取了。rnrn为什么代码结果会是输入任意字符“selir”紧接着“Ctrl + z”,会直接退出,rn而不会把前面所输入的数据打印出来再退出循环?rnrn
奇怪的getchar与while循环
以下是我的代码,如果首次输入不是1或者2,提示信息(输入有误,请从新输入.请选择生成两类标签(1,-1)或者五类标签(-1,1,2,3,4): 1为两类,2为五类.)就出现两次,而如果把while编程if,提示信息则只出现一次,请问这是怎么回事?rnint main()rnrn char putchar;rn printf("请选择生成两类标签(1,-1)或者五类标签(-1,1,2,3,4): 1为两类,2为五类.\n");rn putchar = <em>getchar</em>();rn while(putchar != '1' && putchar != '2')rn rn printf("输入有误,请从新输入.\n");rn printf("请选择生成两类标签(1,-1)或者五类标签(-1,1,2,3,4): 1为两类,2为五类.\n");rn putchar = <em>getchar</em>();rn rnrn
if((ch=getchar()==*"\n"))
if((ch=<em>getchar</em>()==*"\n"))rn这个能运行,不知道是啥意思?
定时器与getchar()的问题??奇怪!
我主程序里:rnwhile(1)rnrnprintf(".....");rnprintf(".....");rnprintf(".....");rnprintf(".....");rnc = <em>getchar</em>();rnswitch(c)rnrn//.....rnrnrn在这之前,我用sigaction(SIGALRM) setitimer()设定了一个1秒的定时器rn问题是,没有这个定时器之前,程序运行倒<em>getchar</em>后,屏幕就停在那里等待用户rn输入一个字符了,现在屏幕确以1秒的周期不停的在往上面滚(在prinf())但是rn用户仍然可以输入,很不舒服。请问如何解决??
while((c=getchar())!=EOF)
while((c=<em>getchar</em>())!=EOF)rn putchar(c);rn如果是输出多个字符的话我不明白上面这个程序的流程rn不过输出单个字符的话我还可以理解rnarnarnbrnbrncrncrndrndrn...rn请问输出多个字符时的流程 例如rnabcdernabcdern程序是怎么运行的rn
getchar得到的是什么?
用<em>getchar</em>从键盘输入的是这个字符的ASCLL码,就把这个字符型变量当成一个“数字来看待就行了” 例如下一道题:输入一个英文字母(可能是大写,也可能是小写),输出该字母在字母表中的序号(’a’和’A’的序号为1): #include&amp;amp;lt;stdio.h&amp;amp;gt; int main() { char c; c=<em>getchar</em>(); c&amp;amp;amp;&amp;amp;amp;(c&amp;amp;gt;=‘A’&amp;amp;amp;&amp;am
关于getchar和回车键的问题
#includernvoid main()rnrn char a,b,c;rn a=<em>getchar</em>();rn b=<em>getchar</em>();rn c=<em>getchar</em>();rn printf("%d%d%d",a,b,c);rnrn我知道windows系统当我敲下enter键后会输入两个字符'\r''\n',rn我的问题是:当我输入一个字母字符后敲下回车光标在后面闪烁并不会换行,rn但当我输入一个数字字符后敲下回车键光标会在下一行闪烁,字母字符和数字字符有什么不同吗?
有关getchar函数的疑问
众所周知,一般<em>getchar</em>函数都是放在主函数最后用来停在运行界面用的,但是在使用的时候会发现如果在<em>getchar</em>函数前面刚刚运行了scanf函数等输入函数,那么就会发现一个<em>getchar</em>函数无法停留在运行界面,而两个却可以成功。
一个getchar的问题
char ch;rn……rn……rnwhile ((ch=<em>getchar</em>())!=EOF);rnrn这段代码有什么问题吗?rn关于<em>getchar</em>函数的用法、不太熟悉啊,rnrn牛人帮忙了
关于getchar()函数和EOF
有如下的程序:rn#include "stdio.h"rnvoid main()rnrn int c,n=0;rn while((c=<em>getchar</em>())!='\n')rn printf("%d ",c);rn ++n;rn printf("%d \n",n);rn rn printf("%d characters\n",n);rn <em>getchar</em>();rnrn运行的时候,比如输入为:123Ctrl+Z回车,显示的是rn49 1rn50 2rn51 3rn-光标就停在这里了,必须要再次回车才会显示3 characters.rn如果直接输入Ctrl+Z的话,显示:rn-1 1rn-光标,也必须要再次回车才会显示1 characters.rn知道一点输入流的最最基础的知识,但还是不理解上面的程序结果。rnrn
getchar和putchar的用法
#include rnvoid main()rnrn char ch;rn ch = <em>getchar</em>();rn while ( ch != '#' )rn rn putchar(ch);rn ch = <em>getchar</em>();rn rn putchar(10);rnrnrn在这儿为什么不是输入一个紧接着输出一个 而回车的话就能输出 请大家帮忙解决一下 谢谢了
getchar函数的运行机制
C语言中的一个题目,是输入一行字符,然后判断里面数字,字母各有多少。程序我非常熟悉,但是这里的<em>getchar</em>运行机制,我有点搞不懂。rnrn当我在屏幕上输入:123abc回车,是[color=#FF0000]回车结束后[/color],<em>getchar</em>去屏幕上接受数据?还是当我在屏幕上输入的同时,<em>getchar</em>已经接收了一个数据。rnrn行家可以借助终端缓冲区和输入缓冲区的方式,详细进行讲解。
getchar()与getch()的区别?
#includern#include rn#include rnrnvoid main()rnint choice;rnchar ch;rnprintf(" 欢迎使用学生成绩管理系统\n\n\n");rnprintf(" +----------------------+\n");rnprintf(" | 1:添加学生成绩 |\n");rnprintf(" | |\n");rnprintf(" | 2:删除学生成绩 |\n");rnprintf(" | |\n");rnprintf(" | 3:查询学生成绩 |\n");rnprintf(" | |\n");rnprintf(" | 4:修改学生成绩 |\n");rnprintf(" +----------------------+\n");rnprintf("\n 请输入操作指令:_\b");rnscanf("%d",&choice);rnswitch(choice)rnloop1: rn case 1:printf("操作1\n");rn printf("是否要继续添加Y\\N");rn [color=#FF0000]ch=getch();[/color]rn rn if('Y'==ch)rn goto loop1;rn elsern printf("请执行下一步操作\n");rn break;rn case 2:printf("操作2");break;rn case 3:printf("操作3");break;rn case 4:printf("操作4");break;rn default:printf("输入有误,请重新输入");rn rnrnrn打算做一个学生成绩管理系统,但是发现执行到时候要继续添加Y/N时,如果我用<em>getchar</em>()函数,则不会判断,而直接退出,用getch()是才会判断Y==ch,这是为什么呢?这两个函数有什么区别呢?rn
getchar() EOF 如何结束?
#include rnrnint main()rn rn int c;rn rn c=<em>getchar</em>();rn rn while((c = <em>getchar</em>()) != EOF)rn printf("true\n");rn putchar(c); rn c=<em>getchar</em>();rn rn rn rnrnrnrn不停的输入 rnrn如何结束?rnrnrn
C关于getchar()的用法
比如: while((d=<em>getchar</em>())!='\0')rn rn xe[count]=d;rn count++;rn if(count>=8)rn rn xe[8]='\0';rn break;rn rn rn我用这程序输出后。。如果我输入了huangche 按下空格。空格也会进缓冲区。。我接下来的程序再用<em>getchar</em>()的话就会出现不一样的结果了。。。请问怎么解决这个办法。。。有清空缓冲区的函数不
关于(getchar()!='y')。
[img=http://img.my.csdn.net/uploads/201211/14/1352906254_8858.jpg][/img]rn初学者 之前看的关于<em>getchar</em>().都是这样用法((ch=<em>getchar</em>())!='#').rn且看这个程序while()里面只有<em>getchar</em>()!='y'.rnch=<em>getchar</em>书上说 每次得到一个字符。rn可是单独的<em>getchar</em>()我就并不理解了。rn还有一点 图上的程序每次输入n时都进行两次猜测。rn如果是每次得到一个字符 应该只会进行一次猜测 然后等待下个字符的输入。rn可是怎么就进行了2次猜测。rn
关于while(getchar()!=)的疑问。
[code=C/C++][/code]while((ch=<em>getchar</em>())!='y')rn rn printf("Well,then,is it %d?\n",1);rn while(<em>getchar</em>()!='\n')rn continue;rn rnrn如果输入abc后回车,rnrnrn1.a不等于Y,进入循环,输出Well,then,is it 1?rn2.b和c不等于\n,进入continue;被跳过。rn3.\n等于\n不进入循环,但是不见了?去哪里了?rn= =rnrn小弟实在不明白这个,如果\n还在的话,应该还在缓冲区吧,第二次输出的但是没有换行,去哪里了啊
getchar()和getch()的区别
#include rnmain()rnrn long int a,b;rn char n,s;rn for(s='y';s=='y'||s=='Y';)rn rn scanf("%ld%c%ld",&a,&n,&b);rn if(n==43)rn printf("\n=%ld\n",a+b);rn else if(n==45)rn printf("\n=%ld\n",a-b);rn else if(n==42)rn printf("\n=%ld\n",a*b);rn else if(n==47)rn printf("\n=%ld\n",a/b);rn else printf("\nError!please afresh input.");rn printf("\nDo you want restart?(Y/N)\n");rn s=getch();rn rn printf("\nGoodbye!\n");rnZrnrnrn在这个程序里,我想在每次执行完循环体后,再根据输入的Y或N决定是否要退出。可是当我把其中s=getch()替换成s=<em>getchar</em>()或scanf("%c",&s);时,便无法实现,请问 getch()和<em>getchar</em>()、scanf()在这里各有什么区别。我看了函数说明,还是不理解。
getchar()和getche()的问题?
欲实现输入字符y或Y才跳出循环rn dorn //dosomethinghere;rn while(toupper(getche()) =='Y');rn//<em>getchar</em>()不可行rn为什么用<em>getchar</em>()时,运行则只能循环2次,第三次就直接跳到下面语句了?rngetche()和<em>getchar</em>()有什么区别么?rn
关于getchar()的简单的疑问
我在我的程序的最后加入了<em>getchar</em>()函数,想在程序运行到这里的时候停顿一下,编译后发现,程序在这里根本不停顿,一闪而过,调试发现,<em>getchar</em>()自动获取了‘\n’字符,这是怎么会事啊?rn我把<em>getchar</em>()改成了getch()发现目的达到了,程序等待用户输入。但是这个函数好像在C99里并没有提到。rn<em>getchar</em>()和getch()这两个函数使用上有什么区别吗?请指教。
scanf,gets,与getchar
当scanf一个字符串之后回车被存储到缓冲区,但是当回车没有被<em>getchar</em>(),而进行下一次的字符串scanf会正常进行,为甚么,不是scanf会从缓冲区读取数据,遇到回车为什么没有结束运行。
Asp.Net MVC 框架 官方示例下载
Asp.Net MVC 框架 官方示例,与WebForm平分秋色的框架! 相关下载链接:[url=//download.csdn.net/download/lianbang/2720492?utm_source=bbsseo]//download.csdn.net/download/lianbang/2720492?utm_source=bbsseo[/url]
WIN32_API串口通信编程实例教程下载
serial串口实例,初学者可以看看,希望能帮到你们 相关下载链接:[url=//download.csdn.net/download/u013974222/7122983?utm_source=bbsseo]//download.csdn.net/download/u013974222/7122983?utm_source=bbsseo[/url]
C++入门经典(第三版)下载
本书不需要读者具备任何C++知识,书中包含了要理解C++所有的必要知识 相关下载链接:[url=//download.csdn.net/download/lsy5310202/7862157?utm_source=bbsseo]//download.csdn.net/download/lsy5310202/7862157?utm_source=bbsseo[/url]
相关热词 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法 c# gmail 发邮件 c# 多层文件
我们是很有底线的