用getchar函数读入两个字符给c1,c2,分别用putchar和printf输出这两个字符。思考以下问题:
(1)变量c1和c2定义为字符型还是整型?或二者皆可?
(2)要求输出c1和c2的ASCII码,应如何处理?
(3)整形变量和字符变量是否在任何情况下都可以互相代替?charc1,c2;和intc1,c2;是否无条件等价?
程序:
#include<stdio.h>
int main()
{
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);
/*printf("%d,%d\n", c1, c2);*/
return 0;
}
结果:
请输入两个字符c1,c2:ab
用putchar输出结果为:ab