#include<stdio.h> void main() { char c1,c2,c3,c4,c5,c6; scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

#include<stdio.h>
void main()
{
char c1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
如果一开始输入123456回车 输出为 1256, 请问: scanf函数可以不用回车作结束标志,就执行 getchar 吗? 还有一个问题,如果输入为1234回车回车,此时c5,c6的值是?

scanf函数可以不用回车作结束标志,不会执行getchar的。若scanf不样回车做结束标志,我也不知道用什么了。对于第二个问题你可以试试这个程序就知道了,当只输入1234的话,你敲回车只是换行而不输出结果,当你再敲一次回车时就有结果输出,这表明输入1234后第一次敲回车是将回车的内部编码传送给c5c6,第二次敲回车时会将他们再次输出到屏幕上追问

我运行过的,就是不清楚c5,c6代表的是什么?回车的内部编码应该只能给一个字符赋值 那么第二个呢? 能解释一下吗?

追答

我给您解决这个问题了,该给个满意了吧大哥

温馨提示:答案为网友推荐,仅供参考