C语言运算符 / 和%的一些注意事项

1.double无法使用取余符号%,浮点数无法取余,如170%30.48170.8%7无法计算

如果要计算,(1)乘以相应的倍数转成整形,取余,再除以相应的倍数,转为double型

                      (2)

double dOrig = 15.01;
int nTemp = (int)dOrig;
int nResult = nTemp % 4;
double dResult = dOrig - nTemp + nResult;

类似方法

2.在用printf输出时,若除法运算符/左右有浮点数,则无法计算,故不可在printf里面进行有浮点数的除法运算

printf("%d",170/30.48); //这样不行
 int d=170/30.48;
printf("%d",d);//这样可以

3.

int i=170/30.48;//在这行代码中,i等于5.57而不是5
printf("%d",i);//此时i输出为5

(3)调用math.h的fmod函数即可进行浮点数取余,fmod(a,b)表示a%b

PTA 7.1总结

posted on 2017-09-23 12:35  TROYcoder  阅读(2275)  评论(0)    收藏  举报