C语言getchar与printf

int main(){ int c; c=getchar(); putchar(c); printf("\n"); printf("%d\n",c);}我听说getchar得到的是字符类型,但是我在将c定义为整型之后printf没有正常输出。 如果把%d改为%c后printf就可以正常输出,这是否意味着整型变量c中存储了字符型? 如果我希望通过getchar获得整型输出,应当如何编写程序? 初学者,望大家指点

puts()函数用来向标准输出设备(屏幕)写字符串并换行, 其调用格式为: puts(s);
其中s为字符串变量(字符串数组名或字符串指针),puts()函数的作用与语printf("%s\n", s)相同。
gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符不属于这个字符串。其调用格式为: gets(s);
s为字符串变量(字符串数组名或字符串指针)。gets(s)函数与scanf("%s", &s)相似, 但不完全相同, 使用scanf("%s", &s) 函数输入字符串时存在一个问题, 就是如果输入了空格会认为输入字符串结束, 空格后的字符将作为下一个输入项处理, 但gets() 函数将接收输入的整个字符串直到回车为止。
putchar函数只能用于单个字符的输出,且一次只能输出一个字符。getchar函数只能用于单个字符的输入,一次输入一个字符。程序的功能是输入一个字符,显示一个字符,回车换行,再输入并显示一个字符。而运行时字符是连续输入的,运行结果却是正确的,这是因为输入字符后,它们暂存于键盘的缓冲区中,然后由getchar函数从键盘缓冲区中一个一个的取出来。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-08
【getchar】:从标准输入里读取下一个字符。返回类型为int型,返回值为用户输入的ASCⅡ码,出错返回-1。
【scanf】:接收从键盘输入的多个字符,并保存在对应地址的变量中。变量可以指定不同的类型。
【putchar】:向终端输出一个字符。其格式为putchar(c),其中c可以是被单引号(英文状态下)引起来的一个字符,可以是介于0~127之间的一个十进制整型数(包含0和127),也可以是事先用char定义好的一个字符型变量。例如:“putchar('#')”输出字符“#”。
【printf】:格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为: printf("", )。一般是向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。要输出的的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。本回答被提问者采纳
相似回答