C语言小技巧

时间:2021-10-20 02:44:12

1强制类型转换

int m,n;

char a,b;

m=(int)a;

n=(int)a/b

//////////////////////////

C语言中这样的转换,转换的是和(double)最近的右边的数据,运算级别低于括号,但是高于乘除、加减、赋值符等;而你考虑的k/m的问题:这个关键看进行二元运算的精度的*别,二元运算的两个变量中:精度较低的会自动转换为精度较高的;

#include<stdio.h>
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();
}
th输出的是将n/m的结果作为ASCII码值所代表的字符,即@