C中,用getchar函数读入两个字符c1、c2,然后用printf函数输出这两个字符.

问题1:变量c1、c2应定义为字符型还是整型?或二者皆可?2:整型变量与字符变量是否可以互相代替?

第1个回答  2009-12-16
变量c1 c2其实就是整型
代替是可以但是会减慢程序的运行速度
第2个回答  2009-12-17
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
char c1 = getchar();//这行定义成int c1 = getchar();运行效果一样
printf("char : %c\n",c1);
printf("int : %d\n",c1);

system("pause");
return 0;
}
输出是
char:a
int:97
97是a的ASCII值

另外c里还有强制转换,英文叫cast
类似这样
int n = 97;
char a = (char)n;
有的编译器会要求这个cast,要视具体情况灵活运用

--------------------------------------
楼上 250947644 说的
会减慢程序的运行速度
我倒是没想到,学习了本回答被提问者采纳
第3个回答  2009-12-16
回答一:如果你想先输入什么类型,你就定义该类型;
回答二:可以互相代替,具体什么代替什么,你可以去看C语言教材后面附录书上的ASCII码值的对应表!
第4个回答  2009-12-16
1:字符型
2:不可以
相似回答