第六章 6.2 参数传递

6.10编写一个函数,使用指针形参交换两个整数的值。在代码中调用该函数并输出交换后的结果。

#include<iostream>

using namespace std;

void changeAB(int *a, int *b);

int main()
{
    int a = 5,b = 6;
    cout << "before:" << a << " " << b << endl;
    changeAB(&a,&b);
    cout << "after:" << a << " " << b <<endl;
}

void changeAB(int *a,int *b)
{
    int temp = *a;
    *a = *b;
    *b = temp;
}

6.17编写一个函数,判断string对象中是否含有大写字母。编写另一个函数,把string对象全部改写成小写形式。

#include<iostream>
#include<string>

using namespace std;

bool is_super(const string s);
void change_low(string *s);
//void change_low(string &s);

int main()
{
    cout << "请输入字符串:";
    string s = "";
    cin >> s;
    cout << is_super(s) <<endl;
    change_low(&s);
    cout << s <<endl;
    return 0;
}

bool is_super(const string s)
{
    for(auto c : s)
    {
        if(isupper(c))
            return true;
    }
    return false;
}

void change_low(string *s)
{
    for(auto &c : *s)
    {
        if(isupper(c))
        {
            c = tolower(c);
        }
    }
}
/*void change_low(string &s)
{
    for(auto &c : s)
    {
        if(isupper(c))
        {
            c = tolower(c);
        }
    }
}*/

6.18为下面的函数编写函数声明。
(1)bool compare(const &matrix a, const &matrix b);//比较两个matrix类是否相等
(2)vector<int> change_val(int a, *vercto<int> iv);//


6.21编写一个函数,令其接受两个参数:一个是int型的数,一个是int指针。函数比较int的值和指针所指的值,返回较大的那个。

#include<iostream>

using namespace std;

int print(const int, const int*);

int main()
{
    int a = 7, b[] = {1,2};
    int c = print(a,b);
    cout << c << endl;
}

int print(const int a, const int* b)
{
    return a > *b ? a : *b;
}

6.22编写一个函数,令其交换两个int指针。

#include<iostream>

using namespace std;

void swap(int*&, int*&);

int main()
{
    int a = 7, b = 8;
    int *p = &a,*q = &b;
    cout << *p << " " << *q << endl;
    swap(p,q);
    cout << *p << " " << *q << endl;
    cout << a << " " << b << endl;
}

void swap(int*& a, int*& b)
{
    int* temp = a;
    a = b;
    b = temp;
}

6.25编写一个main函数,令其接受两个实参,把实参内容连接成一个string对象并输出出来。

#include<iostream>
#include<string>

using namespace std;

int main(int argc, char *argv[])
{
    string a = argv[1];
    cout << a << endl;
    string b = argv[2];
    cout << b << endl;
    cout << a + b << endl;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值