(1)不可以换成char c,int getchar()作用是从缓冲区中读取一个字符然后返回,之所以将返回值设为int而不设为char的原因是,当getchar()函数出错时返回-1,而-1在ASCII码没有与其对应的值。(2)可以换成float c,因为int型转为float型合法,不会丢失精度