能进行,不会错,系统实际会把参加运算的所有变量转换为double后进行计算,只要表达式里面有一个float或者double的量,例如:int i=1;float x=5,y;y=x+i;运行的时候系统会把x和i都转换为double进行计算,最后的结果再保存为y的double类型。
最好不要反过来转化,因为DOUBLE数据的类型是8个字节,而INT数据的类型为4个自己,可能会在程序中出现BUG
题目也不难,先看下答案: 代码语言:javascript 复制 #include"stdio.h"intmain(){double rea[10]={8.95,68.81,43.21,13.55,69.38,56.46,15.52,76.06,82.33,83.17};int sum1;double sum2;/***begin***/int i;for(sum2=0,i=0,sum1=0;i<10;i++){sum1=sum1+(int)rea[i];sum2=sum2+rea[i]-(...
为什么int型之间和..如题,PTA中的一道题目求排列数,我一开始将红圈的部分写成int,得到3,不符合题目要求,但改成double后就符合题目要求了。我对此最感到匪夷所思的是:自己按照公式大致计算了下确实约等于3,为什么用
int atoi(const char *nptr) 将nptr 指向的字符串转换为 int 型表示 返回转换后的值。结果值不能用 int 型表示时的处理未定义 atol long atol(const char *nptr) 将nptr 指向的字符串转换为 long 型表示 返回转换后的值。结果值不能用 long型表示时的处理未定义 atof double atof(const char *nptr) 将...
1、首先,在一起运算的时候,double类型的数据小数部分会被直接给丢弃到,会发声类型之间的转换的。2、其次,需要将int类型转换成double类型。3、最后,c语言即可同时输入一个int型一个double型的数据了。C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。
C语言整型转为双精度 include <stdio.h> void main(){ int a=123;double b=(double)a;//把整型强制转为双精度,print("%f",b);//输出为123.000000 } C语言双精度转为整型 include<stdio.h> void main(){ double a=123.784;int b=(int)a;print("%d",b);//输出为 123 //注意后面...
百度试题 题目C语言中,当int型与double型数据进行算术运算时,数据类型由double型向int型转换 相关知识点: 试题来源: 解析 错误 反馈 收藏
double类型可以强制转换成int类型。可以通过显式强制类型转换、隐式强制类型转换两种方式进行转换。1、显式强制类型转换格式为:int b = (int) a;经强制类型转换运算符运算后,返回一个具有int类型的数值,这种强制类型转换操作并不改变操作数本身,运算后操作数本身未改变。2、隐式强制类型转换隐式类型转换发生在...
{float a=1234.00int b=3,cc=a+bprintf("%d",c)它的结果是1237,我感觉很郁闷跟书里面的,就是各种混合运算类型都要转换成double型的.比如说 10+‘a+1.5-8765.1234.1234*它的要先转换成double在计算啊那它最后的答案也是double型呀,可是上面我说的那道题目,感觉挺郁闷的 相关知识点: 试题来源: ...