注册 登录
编程论坛 C语言论坛

新手求帮助,printf显示问题

好烦、 发布于 2020-10-14 16:03, 1803 次点击
代码如下:
#include<stdio.h>
int main (void)
{
    while(1)
    {   
        char a;
        a=getchar();
        printf("What you write is: %c\n",a);
    }
    return 0;
}
运行结果:
只有本站会员才能查看附件,请 登录

我在终端输入了x,按了两次空格。
输出结果如图。
10 回复
#2
lin51616782020-10-14 16:21
然后你问题呢?
#3
lin51616782020-10-14 16:21
请使用一个问号结尾的语句作为提问
你这陈述句让网友怎么回复?
#4
纯蓝之刃2020-10-14 16:40
程序代码:
#include<stdio.h>

int main(void)
{
    while (1)
    {
        char a;
        a = getchar();
        printf("What you write is: %c\n", a);
        getchar();      //printf不读取换行字符,用来消除读取后留在缓存中的换行字符
    }
    return 0;
#5
李少iii2020-10-14 18:30
回复 楼主 好烦、
#include<stdio.h>
int main (void)
{
    while(1)
    {   
        char a;
        a=getchar();    //这你输入字母x后,还加了个回车,第一次打印X,但第二次时默认输入了回车,再次打印。就出现了你说的问题
        printf("What you write is: %c\n",a);
         // 再加一个getchar()在这即可
 }
    return 0;
}
#6
好烦、2020-10-14 20:27
回复 楼主 好烦、
抱歉


,,,
#7
好烦、2020-10-14 20:27
回复 2楼 lin5161678
抱歉
#8
好烦、2020-10-14 20:28
回复 5楼 李少iii
感谢!!!
#9
好烦、2020-10-14 20:30
为什么它会读两个字符呢?
#10
几个一2020-10-31 21:48
回复 9楼 好烦、
while(1)
我也是刚学  我记得代表的就是无限循环  后面应该是无穷的  出现两个是因为你打了一个x字符   还有一个是无法显示的回车字符

[此贴子已经被作者于2020-11-1 07:21编辑过]

#11
风过无痕19892020-11-01 01:20
回复 9楼 好烦、
因为你输入字符后必须按下回车键确认,才开始从键盘缓冲区中读入数据
1