C++面试题

当前位置: 面试问题网 > C++面试题 > 为什么如下的代码int a=100,b=100;long int c=a * b;不能工作

为什么如下的代码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) 不能达到需要的效果。
   当两个整数做除法而结果赋与一个浮点变量时, 也有可能有同样类型的问题,解决方法也是类似的。

【为什么如下的代码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. 什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?

4. 代码中finally中的代码会不会执行

5. 我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);

6. 请问如下代码执行后a和b的值分别是什么

7. 使用C#编写创建一个线程的代码

8. 软件测试LoadRunner面试题:What is the difference between standard log and extended log?

9. Java面试题:请说出如下代码的输出结果

10. Java面试题:说出如下代码的执行结果

本文来源:https://www.mianshiwenti.com/a13187.html

点击展开全部

《为什么如下的代码int a=100,b=100;long int c=a * b;不能工作》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝为什么如下的代码int a=100,b=100;long int c=a * b;不能工作﹞相关内容

「为什么如下的代码int a=100,b=100;long int c=a * b;不能工作」相关专题

其它栏目

也许您还喜欢