回 帖 发 新 帖 刷新版面

主题:getchar和scanf在一起有什么特殊的功能

while(ch_x!='0')
        if (push(ch_x)==1)  printf("failure!\n");
        else
        {printf("success!\n");
        printf("input a char for ch_x to push\nch_x=");
            getchar();
            scanf("%c",&ch_x);}
            为什么不要getchar就不行?

回复列表 (共2个回复)

沙发

push(ch_x)  这里是你的要输入的一个数字吧,,你输入了一个数后就按回车吧?
好这样问题就来了,因为SCHANF()会认为回车符也是个有效的输入,也就是说不要GETCHAR()就ch_x就会的到你上次输入的回车符号,而GETCHAR()就是把这个回车符吃掉

板凳

真心的谢谢你啦!!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册