您的位置:首页 > 编程语言 > C语言/C++

C++学习记录3--VS 2010 sqrt()函数

2017-02-24 15:25 357 查看

1、VS 2010 sqrt()函数

int i=10;


int b=sqrt(i);


  会报错,因为VS 2010中重新定义了sqrt()函数,该函数有两个重载:float sqrt(float)和double sqrt(double)。若sqrt()中传入的参数为int,那么在执行开方时编译器会产生迷惑,是将int转换为float后调用float sqrt()呢,还是将它转换为double后再调用double sqrt()呢?

  解决方法:执行sqrt()时强制指定为一种类型即可:

  sqrt((float)k)或是qrt((double)k);

2、if else中,else只和前面没有配对的if自动配对

  先看两段程序。

A

#include<iostream>
using namespace std;
void main()
{
int a=2,b=3,c=1;
if (a>b)
{if(a>c) cout<<a;} //此时else和if(a>b)配对,故输出为3,注意第二个if是被{}括起来的。
else cout<<b;
}


B

#include<iostream>
using namespace std;
void main()
{
int a=2,b=3,c=1;
if (a>b)
if(a>c) cout<<a; //此时else和if(a>c)配对,if(a>b)无配对的else,无输出。
else cout<<b;
}


参考连接

https://zhidao.baidu.com/question/579272615.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: