m0_46355519
2020-02-18 17:19
采纳率: 50%
浏览 697

在循环里的时候,用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 2020-02-18 17:23
    已采纳

    getchar只能输入一个字符

    点赞 评论
  • blownewbee 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);
    }
    
    点赞 评论

相关推荐 更多相似问题