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

来源:互联网 发布:淘宝个性化标签 编辑:程序博客网 时间:2024/05/16 10:37

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

0 0
原创粉丝点击