龟速学习visualc++2

今天起来之后想编写一个比较三个数字大小的程序,结果书写程序如下:

// max_value.cpp : Defines the entry point for the console application.
//

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


[color=red]void swap (double x, double y)[/color]
{
        //double x,y;
        double temp;
        temp=y;
        y=x;
        x=temp;
        //return x,y;
}
void main(void)
{
        /*double x,y;
        double first,second;
        cin>>first>>second;
    x=first;
        y=second;
        swap(x,y);
        cout<<x<<y;*/

        cout<<"请依次输入三个数字."<<"以下将按照从小到大的顺序排列/n";
        double first,second,third;
        cin>>first>>second>>third;
        if(second>third) swap(second,third);


        //cout<<second;
        if(first>second) swap (first,second);
        cout<<"这是经过排列的三个数字:/n";
        cout<<first<<" "<<second<<" "<<third<<"/n";
        //return 0;*/
}

结果自然是死活运行不出来的...怎么输入怎么输出,后来看了看书知道了错误的地方.
问题就出在swap函数这里.
正确的写法应该为:void swap (double& x, double& y)
让我们看看为什么应该这么写.以下为书本原语:
如果输入参数以值的方式传递对象,则宜改用"const &"方式来传递,这样可以省去临时对象的构造和析构过程,从而提高效率.

这样问题基本就是这样了.同时关于函数的参数传递,还有以下需要注意的:
1.参数书写要完整.
2.命名要合理.
3.如果参数是指针,且仅作输入用,则应该在类型前加const,以防止该指针在函数体内北任意修改.例如:
void StringCopy(char *strDestination,const char *strSource);
4.如上我的问题.
5.避免函数有太多的参数,参数个数尽量控制在5个以内,参数过多容易搞混.
6.尽量不要使用类型和数目不确定的参数.C的标准库函数printf是采用不确定参数的典型代表,其原型为:
int printf(const char *format[, argument]...);
这种风格的函数在编译时丧失了严格的类型安全检查.


以上就是今天的一点体会...
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值