这些你注意了吗?

本文通过多个C语言编程示例,展示了不同类型变量之间的转换过程及其结果,包括整数、浮点数等基本类型的相互转换。
例1
short a = 30000, b = 30000;
printf("sizeof(a) = %d/n", sizeof(a));
printf("sizeof(b) = %d/n", sizeof(b));
printf("sizeof(~a) = %d/n", sizeof(~a));
printf("sizeof(a + b) = %d/n", sizeof(a + b));
printf("a + b = %d/n", a + b);
signed char c = 127;
printf("c+1 = %d/n", c+1);
printf("sizeof(c+1) = %d/n", sizeof(c+1));

Result:
sizeof(a) = 2
sizeof(b) = 2
sizeof(~a) = 4     
sizeof(a + b) = 4   
a + b = 60000
c+1 = 128
sizeof(c+1) = 4     
例2
unsigned short a = 1234;
unsigned char b;
b = a;
printf("b = %d/n", b);
printf("a %% (255 + 1) = %d/n", a % 256);
Result:
b = 210
a % (255 + 1) = 210
例3
short a = 1234;
unsigned char b;
b = a;
printf("b = %d/n", b);
printf("a %% (255 + 1) = %d/n", a % 256);
Result:
b = 210
a % (255 + 1) = 210
 
例4
short a = -1234;
unsigned short b;
b = a;
printf("b = %d/n", b);
printf("a + (65535 + 1) = %d/n", a + 65536);
Result:
b = 64302
a + (65535 + 1) = 64302

例5
double x;
int a = 10, b = 3;
x = a / b;                              /* x = 3.0 */
x = (double) a / (double) b;            /* x = 3.333333 */
x = (double) a / b;                     /* x = 3.333333 */
x = (double) (a / b);                   /* x = 3.0 */
例6
double x;
int a = 10, b = 3, c = 5, d = 2;
x = a / b + c / d;                      /* x = 5.0 */
x = (double) a / b + c / d;             /* x = 5.333333 */
x = (double) a / b + (double) c / d;    /* x = 5.833333 */
 



 

 

 

 

http://www9.plala.or.jp/sgwr-t/detail/TypeConversion.html

http://www.chmhome.com/knowledge/c-c++/20071007/111661.html
http://blog.youkuaiyun.com/zhongrg/archive/2007/11/11/1879157.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值