while(ch[i]!='\0') { ch[i]=getchar(); i++; } 当然程序开始有定义和初始化i,也定义了数组,也能够输入了字符串,这样接收字符有什么问题吗? 我知道可以直接用 gets(ch); 就是不太明白这样做有什么问题。求指教
C语言中关于getchar();的一个问题
回答:有问题,getchar得到的字符是必须带回车的,而且你getchar以后直接i++了,while判断的也使i++以后的值了,而不是当前输入的值了。如果你使希望输入了就做判断,那么最好不用getchar,而用getch,要加头文件 #include<conio.h> while((ch[i] = getch()) != '\\0') {……}
C语言中关于getchar();的一个问题
有问题,getchar得到的字符是必须带回车的,而且你getchar以后直接i++了,while判断的也使i++以后的值了,而不是当前输入的值了。如果你使希望输入了就做判断,那么最好不用getchar,而用getch,要加头文件 include<conio.h> while((ch[i]= getch())!= '\\0'){……} ...
C语言题,有关getchar()的一个问题
getche 无缓冲输入,程序直接从键盘读取,回显 getch 与getche相同,除了他不回显 getchar先把你输入的字符先放入缓冲区,当你按了回车后,先将回车放入缓冲区,再在缓冲区送入一个字符给内存,不是你按的回车,是你输入的第一个字符,如果你按一个字符后按回车,到第五行的getchar就接收了你输入的...
C语言新手:关于getchar()的位置问题
你的第一个问题:因为你要不停的统计输入的字符再判断,所以getchar必须放在循环体里面,否则没有意义。你的第二个问题:因为你按下回车后 也算一个输入。我修改了你的程序如下:include <stdio.h> main(){ int a,b,c,d;char m;a=b=c=d=0;while(1){ m=getchar();if(m>='a'&&m<=...
C语言,关于getchar()的疑问。
while((getchar())!='\\n')\/\/假设我输入a和换行符(回车),那么这里的getchar()读入的是a还是回车?continue; \/\/我觉得是a,这个程序只有第一个字符是有用的,对吗?} 这里是这样执行的,这里等待一个用户输入,如果有,则接收第一个字符,如果这个字符不是回车,那么会再循环一次,继续等待...
问一个c语言关于getchar()的问题
getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCⅡ码,如出错返回-1,且将用户...
关于C语言getchar()的问题
这种情况多见于在上次输入完成时按了回车键,所以产生了一个回车符('\\n'或者'\\r'),这个字符没有被i=getchar()之前的读取操作读取,所以到了这里系统不会再次等待用户从键盘输入(因为缓冲区中还有字符),而会直接把这个回车符读取。为避免这种情况,可以在getchar()之前用fflush(stdin);来一次性...
c语言getchar()的问题
getchar()只接受一个字符,可是你有个两层循环,中间一个getchar(),一个putchar(),在输 入一个的时候就输出一个了。而且N在前面宏定义的时候就已经被定义好了,只能接受0-6共计六个字符,注意这里的空格也算一个字符的
c语言关于getchar()的问题,小弟菜鸟,望高手帮忙解答
a[0]=a a[1]=b a[2]= a[3]= a[4]= Press any key to continue include <iostream.h> include "stdio.h"int main(){ char a[5]={0};int i=0;while ( (a[i]=getchar()) != '\\n' ){ i++;} for (i=0;i<5;i++){ cout<<"a["<<i<<"]="<<a[i]<<endl;...
请教下C语言getchar ()方面的问题
(c=getchar())!=EOF先做c=getchar(),把输入的字符赋值给c,在判断这个字符是否为EOF,而getchar()!=EOF直接判断,没有赋值。