原諒我基礎沒學好
今天在做題的時候要用到求餘數,因爲之前一直都是整數求餘數,可以用%來運算。這次我覺得也可以直接算,我一試,發現我太天真了
!!!
代碼如下------------------------------------
#include<stdio.h>
int main()
{
double a;
a=11.1%1.0;
printf("a=%f",a);
return 0;
}
結果就是報錯了
標題[Error] invalid operands of types ‘double’ and ‘double’ to binary ‘operator%’
翻譯如下:類型“double”和“double”到二進制“操作符%”的無效操作數
我就非常納悶吶
然後就查
重點來了
%號取餘數一般用於整型之間即–>整型%整型=整型
所以對於浮點型數的求餘數目前不能直接用一個符號來實現
如果懶得算的話,也不是沒有快速算法
可以通過調用函數來直接實現
fmodf用於float型變量操作
fmod用於double型變量操作
modl用於long double型變量操作
以下以fmod舉例
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#include "math.h"
int main(void){
double f=3.3,q=2.2;
printf("%f\n",fmod(f,q));
return 0;
}
不過一般做題的時候不建議調用函數,還是自己老老實實算算吧 >-<