-1

私のコンソールアプリはそのように見えます。

#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    int a, b;
    cin>>a>>b;
    cout<<"% "<<a%b<<endl<<"fmod "<<fmod(a,b)<<endl;
    system("pause");
    return 0;
}

私は C++ の初心者で、2 つの質問があります。

  1. VS でこのアプリケーションを作成します。「stdafx.h」を含める必要があるのはなぜですか? 要件はありますか?これは何ですか?
  2. と の間に違いはfmodあり%ますか? それらに対してまったく同じ結果が得られます。

ここに画像の説明を入力

事前にThx..

4

2 に答える 2

4

VS でこのアプリケーションを作成します。「stdafx.h」を含める必要があるのはなぜですか? 要件はありますか?これは何ですか?

デフォルトのプロジェクト設定では、プリコンパイル済みヘッダーが必要であることが示されているためです (これを参照してください)。

これは手動で無効にできます。以下の画像に示すように、 [プリコンパイル済みヘッダーを使用しない] を選択します。

ここに画像の説明を入力


fmod と % の間に違いはありますか? それらに対してまったく同じ結果が得られます。

はい。%は浮動小数点数を操作できませんが、操作はfmodできます。finfmodは浮動小数点を示します。

これを試して:

float a, b;
std::cin>>a>>b;
std::cout << (a%b) << std::endl; //it will give compilation error.
于 2012-06-28T11:34:16.403 に答える