索尼与三星 2015-05-01 03:18 采纳率: 33.3%
浏览 2270
已采纳

c语言getchar()putchar()问题

最近在看 c第二版英译版。有个问题并不解。
getchar()与putchar()
这是程序
int c;
c=getchar();
while(c!='\n')
putchar();
这里没有用fflush(stdin)函数清空,结果将无限循环显示。
而我用
while(c=getchar()!='\n')
putchar(c);
就不会循环。

请问各位大牛,这两个有什么区别,为什么结果就不一样?

  • 写回答

7条回答 默认 最新

  • threenewbee 2015-05-01 03:24
    关注

    第一种写法,c永远是第一次输入的值
    第二种写法,每次循环c都会读取下一个字符,才有机会遇到\n而终止。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失