当前位置:编程学习 > C/C++ >>

C语言 数据类型转化

#include<stdio.h> main() { int a,b=322; float x,y=8.88; char c1='k',c2; a=y; x=b; a=c1; c2=b; printf("%d,%f,%d,%c",a,x,a,c2); } 输出107,322.000000,107,B 为什么 a 的输出是107 c2 为什么是B
补充:c2 是因为 定义的字符型吗?  322-2^8+1=66?
答案:a=c1='k'当然是'k'的ASCII码
c2为322截断高位后得到的,322 = 142H,截断超过8位的剩下42H,当然就是66,它是谁的ASCII码?

上一个:C语言中负号占几个字符?
下一个:动态优先级有什么用

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,