#include"stdio.h" int main() { double a; a=111111*111111; printf("%.0lf\n",a); return 0; }
#include"stdio.h" int main() { double a; a=111111*111111; printf("%.0lf\n",a); return 0; }
日期:2021-06-22 10:16:30 人气:1
a=111111*111111;
c 语言 处理成 整型 111111 乘 整型 111111 得 一个 整型的乘积,然后 再作 整型到 double 的转换,最后 赋给 a.
由于 整型 111111 乘 整型 111111 得 到的整型积 超出 整型数允许的最大值,数据溢出并截断了,以致结果错误。
你把 第一个 111111 添个 点 就可以了:
a=111111.*111111; 这样就 不处理成 整型乘整型了。
当然 用
c 语言 处理成 整型 111111 乘 整型 111111 得 一个 整型的乘积,然后 再作 整型到 double 的转换,最后 赋给 a.
由于 整型 111111 乘 整型 111111 得 到的整型积 超出 整型数允许的最大值,数据溢出并截断了,以致结果错误。
你把 第一个 111111 添个 点 就可以了:
a=111111.*111111; 这样就 不处理成 整型乘整型了。
当然 用