各位大哥大姐,帮忙解道题! 编程序,用getchar函数读入两个字符给c1和c2,然后分别用putchar和printf函数

各位大哥大姐,帮忙解道题!
编程序,用getchar函数读入两个字符给c1和c2,然后分别用putchar和printf函数输出这两个字符。请问:
1 变量C1,C2应定义为字符型或整型?或二者皆可?
2 要求输出C1,C2值的ASCII码,应如何处理?用putchar函数还是printf函数?
3 整型变量与字符变量是否在任何情况下都可以相互替代?如char C1,C2;与intC1,C2;是否无条件的等价?
各位帮一下忙

你好,看过你的题目要求。
1. 都可以,因为变量C1,C2不管定义为字符型char或者是整形int,都能够存储输入字符的ASCII值;
2. 应该使用printf函数,我们知道putchar只是输出字符,我们可以使用printf("%d%d",c1,c2);输出变量的ASCII值
3. 不能无条件的替代,首先这两种类型所占用的内存大小就不相同,char占用1个字节,int通常占用4个字节,如果需要存储一个比较大的整数,就只能使用int类型,否则会有溢出的问题。所以,应该根据具体情况决定该使用何种类型。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-21
1 二者皆可
2 应用printf
3 不是,能相互替代的前提是c1,c1在0到255之间
程序如下
void main()
{
int c1,c2;
c1=getchar();
c2=getchar();
putchar(c1);
putchar(c2);
printf("%d %d\n",c1,c2);
}
第2个回答  2010-10-21
#include<stdio.h>
void main()
{
char c1,c2;
c1=getchar();
getchar();//回车或空格
c2=getchar();
putchar(c1);//输出字符
putchar(c2);
putchar('\n');//输出一个换行
printf("%d %d",c1,c2);//输出asc码}
第3个回答  2010-10-22
1 当然尽量得定义成字符变量了 ,如果定义成int 就要强制转换
2 printf
3 char c1;
与int C1;
C1=(int)c1;
第4个回答  2010-10-21
#include<stdio.h>
void main()
{
char c1,c2;
getchar(c1);
getchar(c2);
c1+='0';
c2+='0';
printf("%c%c",c1,c2);
}