关于C++ 的几个问题= =
先看下这个程序,是偶老师写的.#include <iostream>
using namespace std;
double larger(double x, double y);
int main()
{
double num; //variable to hold the current number
double max; //variable to hold the larger number
int count;//loop control variable
cout << "Enter 10 numbers." << endl;
cin >> num; //Step 1
max = num; //Step 1
for(count = 1; count < 10; count++) //Step 2
{
cin >> num; //Step 2a
max = larger(max, num); //Step 2b
}
cout << "The largest number is " << max << endl; //Step 3
return 0;
}//end main
double larger(double x, double y)
{
if (x >= y)
return x;
else
return y;
}
问题是1,double larger(double x, double y);(我用了粗体)这个是方程申明,为什么用了两次?我认为只要在后面的那次里写上就可以了啊~第1次用在MIAN函数前面不明不白的...
问题2,第2个函数(也就是第2个粗体后面的部分)能不能写在MAIN函数前面?我看书里有不少是这么写的.
问题3,void是用在不返回值上的.有什么用呢?一个函数没有最终值的话...想不出有什么用- -b
问题4,和前面的程序无关的.setw(n)应该怎么用?
比如我写:cout<<setw(2)<<a;
但出来的a值并不是有2位...如果我要和fixed和setprecision(n)连用的话,次序应该是怎么样的?
谢谢~
回复: 关于C++ 的几个问题= =
问题是1,第一个double larger(double x, double y);后面是分号,没有{},应该是没有函数体……我C++没学过,我知道在Java中应该是抽象类……问题2,函数写在哪个位子应该是无所谓的,只要在class中就行……顺序是根据main函数来的……而不是哪个函数在前,哪个函数在后……
问题3,没有返回值应该就是一个方法~如果有返回值可以写成:
double a=double larger(4,5);
但是没有返回值可以写成这样:
void a(int a,int b)
{
int a=temp;
temp=int b;
int b=int a;
}
当执行完毕,a跟b的值互换,这个就是用处啊~
问题4,我没有学过C++,所以这个问题不知道……
回复: 关于C++ 的几个问题= =
1. C++是按顺序编译的,要调用就在调用之前必须定义。所以,如果事先不定义,就会出无定义。2. 能。如果写在main前面(调用者),那么最开始的声明就不用了。
3. void有无数用处。比如void *什么的。当void用于返回值时,就是没有返回值。没有返回值不代表这个函数不做事情呀!如果你学过basic或pascal之类的,就知道有子过程和子函数这两种东西。
4. 查MSDN。http://msdn.microsoft.com
回复: 关于C++ 的几个问题= =
感谢2位~第4个问题还是没怎么弄懂....MSDN是什么= =
我说的setw是属于iomanip 头文件里的.据说是插入空格用的...- -b
但我输入如 cout<<setw(2)<<a
完全不起作用= =
回复: 关于C++ 的几个问题= =
MSDN == Microsoft Developer Network,就像Visual C++的Help.setw(n)是设置后面一个的宽度的。
cout << setw(2) << a就是,a以两个字符的宽度显示。
比如a=1,输出就是" 1"。如果a=11,输出就是"11"。
回复: 关于C++ 的几个问题= =
终于弄清楚了,它的定义是right justify.也就是从输出的量的右边开始往左边数空格(space)...谢谢STAR,斑竹可以锁了
回复: 关于C++ 的几个问题= =
貌似问题已经解决了。。。来晚了的说。。。
页:
[1]