为什么如下的代码int a=100,b=100;long int c=a * b;不能工作
根据C 的内部类型转换规则, 乘法是用int 进行的, 而其结果可能在转换为long 型并赋给左边的c 之前溢出或被截短。可以使用明确的类型转换, 强迫乘法以long 型进行:
long int c = (long int)a * b;
注意, (long int)(a * b) 不能达到需要的效果。
当两个整数做除法而结果赋与一个浮点变量时, 也有可能有同样类型的问题,解决方法也是类似的。
long int c = (long int)a * b;
注意, (long int)(a * b) 不能达到需要的效果。
当两个整数做除法而结果赋与一个浮点变量时, 也有可能有同样类型的问题,解决方法也是类似的。
【为什么如下的代码int a=100,b=100;long int c=a * b;不能工作】相关文章
1. 为什么如下的代码int a=100,b=100;long int c=a * b;不能工作
2. 我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
3. 什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
5. 我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
8. 软件测试LoadRunner面试题:What is the difference between standard log and extended log?
本文来源:https://www.mianshiwenti.com/a13187.html
进入下载页面
﹝为什么如下的代码int a=100,b=100;long int c=a * b;不能工作﹞相关内容
- 什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
- 软件测试LoadRunner面试题:Explain the following functions: – lr_debug_message
- 跳槽时不能犯下的十个错误
- 托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
- 简述synchronized和java.util.concurrent.locks.Lock的异同
- 高一自我介绍1000字
- 写一个方法1000的阶乘
- swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
- swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
- Spring里面applicationContext.xml文件能不能改成其他文件名