m0_46355519
m0_46355519
采纳率50%
2020-02-18 17:19 阅读 678

在循环里的时候,用getchar()读入abc,putchar()输出abc,不在循环里,getchar()读入abc,putchar()输出a,为什么?

在循环里的时候,用getchar()读入abc,putchar()输出abc,不在循环里,getchar()读入abc,putchar()输出a,为什么?
比如下面这个代码
#include
int main()
{
int a;
while(a!=EOF)
{
a=getchar();
putchar(a);
}
printf("%d",-1);
}
输入abc,输出abc。

int main()
{
int a;
a=getchar();
putchar(a);
printf("%d",-1);
}
输入abc,输出a,

为什么?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    nwputxy nwputxy 2020-02-18 17:23

    getchar只能输入一个字符

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2020-02-18 18:11

    问题解决的话,请点采纳

    #include <stdio.h>
    
    int main()
    {
    int n = 0;
    int a[100];
    while(a!=EOF)
    {
    a[n++]=getchar();
    }
    for (int i =0; i < n; i++) putchar(a[i]);
    printf("%d",-1);
    }
    
    点赞 评论 复制链接分享

相关推荐