函数 sqrt() 有问题!我是一个初学者所以请放纵一下,答案可能真的很简单。所以这是我的代码:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int touche;
int i;
float x;
float racx;
const int NFOIS = 5;
cout << "Bonjours!" << endl;
cout << "Je vais vous calculer " << NFOIS << " racines carrees" << endl;
for (i = 0; i < NFOIS; i++)
{
cout << "Donner un nombre: " ;
cin >> x;
if (x = 0.0)
{
cout << "Le nombre" << x << "ne possede pas de racines carrees!" << endl ;
}
else
{
racx = sqrt(x);
cout << "Le nombre " << x << " a une racine carree de : " << racx << endl;
}
}
cout << "Programme termine veuillez entrer un charactere pour fermer le programme." << endl;
cin >> touche;
return 0;
}
我的问题是当我输入一个数字时(它被存储,我在将它发布在这里之前用 cout 检查它“以防它是它”)是当 sqrt(x);它只告诉程序无论我输入什么,x 和 racx 都是 0。我真的不知道它是什么。我还尝试更改“math.h”的#include,但仍然是同样的事情,所以我认为我的代码在某处是错误的。
如果您想知道在 windows 7 旗舰版 64 位中,我使用 Visual c++ 2013。
PS:如您所见,我的第一语言是法语,但请放心,我的英语非常好,即使我的写作能力很差 :P。
无论如何,谢谢大家的关注和帮助!我们将不胜感激!
最佳答案
在这一行中:
if (x = 0.0)
您不是将 x 与 0 进行比较,而是将值 0 赋给 x,这会在“if”语句中产生 false,我假设您想要使用相等运算符 ==。
这是一个很常见的问题(混淆=和==,有些语言(不是c++)甚至有===)所以不用担心,看起来你已经努力找到原因并且问题已经解决了回答它所需的一切,干得好,学习愉快。
关于c++ - VC++ 中 sqrt() 的值始终为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22887727/