楼上错了
首先你的printf("%f %d\n", x, i);要改成printf("%d %d\n", x, i);才能正确的运行,因为你的x是整形,并没有转为实行
结果是3
3
首先x的值是3这个无疑
注意:无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。
所以i = (char)x;之后i的值是ascii码的十进制3,所以你以%d的格式输出i时输出结果为3。
[
本帖最后由 hanxiaokun 于 2011-9-15 13:37 编辑 ]