getchar 只能读一个字符,读的是输入第一个数字 "3","3"的ascii码是0x33,转换成10进制数是 51,打印出来的就是 51你的程序要用 scanf 去做会容易些。
3的ascii码就是51你用了getchar,是以字符的形式作为输入的然后你又按float输出
getchar返回值是所接收字符的ASCII码,34344只会接受到3这个字符,3的ASCII码是51