大一c语言第三章的强制类型转换,求例题和解释。
发布网友
发布时间:2022-05-06 23:59
我来回答
共2个回答
热心网友
时间:2023-10-31 01:54
(type)
其中,type为类型描述符,如int,float等。
为表达式。经强制类型转换运算符运算后,返回一个具有type类型的数值,这种强制类型转换操作并不改变操作数本身,运算后操作数本身未改变,例如:
intnvar=0xab65;
charcchar=char(nvar);
上述强制类型转换的结果是将整型值0xab65的高端两个字节删掉,将低端两个字节的内容作为char型数值赋值给变量cchar,而经过类型转换后nvar的值并未改变。
热心网友
时间:2023-10-31 01:54
C语言中这样的转换,转换的是和(double)最近的右边的数据,运算级别低于括号,但是高于乘除、加减、赋值符等;而你考虑的k/m的问题:这个关键看进行二元运算的精度的最高级别,二元运算的两个变量中:精度较低的会自动转换为精度较高的;
#include
main(){
int
m,n,num;
char
t='0',th;
double
dou_1,dou_2,dou_3;
m=5;n=321;
num=t/((float)m/n);
dou_1=(double)(n/m);
dou_2=n/m;
dou_3=(double)n/m;
th=(double)n/m;
printf("%d,%f,%f,%f,%c",num,dou_1,dou_2,dou_3,th);
getch();
}
用这个多试试,会有较深的理解。