2016-12-21 94 views
0

我目前处于学习C编程的初级阶段,正在使用Code :: Blocks工作通过“开始用C for Dummies编程”。 第7章中的第一项活动,getchar()提取字符,要求我们按照书中介绍的完全复制代码;见下图:'C for Dummies'getchar()函数不起作用

#include <stdio.h> 

int main()  
{ 
    int c; 

    printf("I'm waiting for a character: "); 
    c = getchar(); 
    printf("I waited for the '%c' character.\n", c); 
    return (0); 
} 

我得到的输出是:

I'm waiting for a character: 

然而,根据这本书,我应该可以看到的是字符的ASCII码值输出。然后它会要求我将%c占位符更改为%d以显示该值,但仍得到与以前相同的结果。我可以在闭上眼睛的情况下背诵代码我已经通过了这段时间的检查;我根本看不到我要去哪里错。

我是否认为getchar()函数没有被识别?或者在第一个printf声明之后代码没有被读取?任何指导都是值得欢迎的,因为我不想继续前进,直到我明白了问题。

+3

当你看到'我正在等待一个角色:',你输入一个角色? –

+0

否 - 它工作正常 - 请参阅http://ideone.com/AlgWkH – 4386427

+2

尝试'printf(“我等待一个字符:”); fflush(标准输出);' – BLUEPIXY

回答

0

请输入任意键,然后第二个printf将显示结果。 getchar()期待用户输入,控制器到达第二行&等待输入。