如下图,这样写不对吗?为什么执行不了?

#include<stdio.h>
void main()
{
char c1,c2;
c1=getchar(),c2=getchar();
putchar(c1);
putchar(c2);
printf("%c %c\n",c1,c2);
}



Smart猫小萌
浏览 117回答 2
2回答

ITMISS

getchar()是到缓冲区读取第一个字符首先,从键盘输入许多字符,最后回车后,所有字符包括回车放到缓冲区这时才开始循环执行getchar(),读入一个字符判断是否回车,不是就继续读,是回车就退出循环(之所以说是顺序接受一行字符,是因为它取的始终是缓冲区中第一个字符,每取一个缓冲区的字符少一个,也就是顺序读取了)

红颜莎娜

#include<stdio.h>#include<conio.h>intmain(void){intc;inta;a=getchar();printf("%c",a);while((c=getchar())!='\n')//c接收的值是输入第一个字符后按下的回车换行符'\n',c是不会显示的{printf("%c",c);}getchar();return0;}注:可以利用getchar()函数让程序调试运行结束后等待编程者按下键盘才返回编辑界面,用法:在主函数结尾,return 0;之前加上getchar();即可
打开App,查看更多内容
随时随地看视频慕课网APP