验证 putchar 函数和 printf 函数的区别,以及 C 语言 中各个 类型 字段之间的差别,是不是可以看成一样的数据。(谭浩强 C 语言第三版 90 页第 4.10 题)
编程序,用 getchar 函数读入两个 字符 给 c1、c2,然后分别用 putchar 函数和 printf 函数输出这两个字符。思考以下问题:
(1)变量 c1、c2 应定义为字符型或 整型?或二者皆可?
(2)要求输出 c1 和 c2 值的 ASCII 码,应如何处理?用 putchar 函数还是 printf 函数?
(3)整形变量与字符变量是否在任何情况下都可以互相代替?如:char c1,c2;与 int c1,c2;是否无条件地等价?
这个题目其实就是一个验证题,让我们通过实验来了解 C 语言中各个类型字段的差异,只要我们根据提示编写相应的代码来验证即可。
#include <stdio.h>
void main()
{
printf("嗨客网(www.haicoder.net)\n\n");
char c1,c2;
printf("请输入两个字符 c1,c2 :");
c1 = getchar();
c2 = getchar();
printf("用 putchar 语句输出结果为 :");
putchar(c1);
putchar(c2);
printf("\n");
printf("用 printf 语句输出结果为:");
printf("%c %c\n",c1,c2);
}
运行后,控制台输出如下:
注意:使用 getchar 接收键盘输入的数据时,两个 getchar 函数,需要字母连续输入。如果输入字符和空格或者换行,空格和换行被当成字符。