编程序,用getchar函数读入两个字符给cl和c2,然后分别用putchar函数和printf函数输出这两个字符。思考以下问题:
(1)变量cl和c2应定义为字符型,整型还是二者皆可?
(2)要求输出cl和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?
(3)整型变量与字符变量是否在任何情况下都可以互相代替?如:char cl,c2;与int cl,c2;是否无条件地等价?
#include <stdio.h>
void main(){
//字符型
char c1,c2;
c1=getchar();
c2=getchar();
putchar(c1);
putchar(c2);
printf("%c,%c",c1,c2);
//整型
int c11,c22;
c11=getchar();
c22=getchar();
putchar(c11);
putchar(c22);
printf("%c,%c",c11,c22);
}
(1)变量cl和c2应定义为字符型,整型还是二者皆可?
答:二者皆可
(2)要求输出cl和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?
答:用printf函数输出,使用%d格式符,即:printf("%d,%d\n", c1, c2);
(3)整型变量与字符变量是否在任何情况下都可以互相代替?如:char cl,c2;与int cl,c2;是否无条件地等价?
字符变量占1个字节,整型变量占2或4个字节。故整型变量在可输出字符的范围内(ASCII码为0到127之间的字符)是可以与字符型数据互相转换的。如果整数在此范围外,不能代替。
不懂请留言,谢谢!