为了账号安全,请及时绑定邮箱和手机立即绑定

有关于getchar函数的问题

有关于getchar函数的问题

C C# C++
你想象不到我有多执着 2017-02-07 15:22:53
#include <stdio.h> int main(int argc, char const *argv[]) {     char c;     while(c=getchar() != '\n')     {         printf("%c", c);     }     return 0; }上面的程序,程序运行之后输入hello运行结果应该是hello的,,但为什么是乱码?
查看完整描述

4 回答

已采纳
?
望远

TA贡献1017条经验 获得超1032个赞

这里有运算符优先级问题,加上括号即(c=getchar())!='\n'
查看完整回答
2 反对 回复 2017-02-07
  • 你想象不到我有多执着
    你想象不到我有多执着
    谢谢,你已经解决过我很多的问题了,不知不觉都记住了你的签名"比我努力的人,大街一抓一大把!!",万分感谢
  • 望远
    望远
    一起加油↖(^ω^)↗,不过我的ID是望远哦= =
?
半枯

TA贡献101条经验 获得超45个赞

输出的%c是字符,你的c是字符串,这样当然错了

查看完整回答
1 反对 回复 2017-02-14
?
wakinzc

TA贡献3条经验 获得超0个赞

你直接输入hello这已经不是一个char了,这是5个char。

查看完整回答
反对 回复 2017-02-07
  • 你想象不到我有多执着
    你想象不到我有多执着
    getchar是获取一个字符,其他的输入暂存在缓冲区,通过while循环一个一个字符打印,所以这里是5个一个个的char,使用起来是没问题的,正确答案请参考远望的回复,谢谢您的帮助
  • 4 回答
  • 0 关注
  • 1652 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信