C ++ Primer ex 7.5 [英] C++ Primer ex 7.5

查看:47
本文介绍了C ++ Primer ex 7.5的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

像往常一样,建议改进:

/ * C ++ Primer - 4 / e

*

*练习7.5

*语句:

*写一个函数,它带一个int和一个指向int的指针,

返回更大的值。你应该用什么类型的

指针?

* /

#include< iostream>

#包括< cassert>


/ *我们将使用指向const的指针,因为我们感兴趣的是

只读取值* /

int return_bigger(int i,const int * ip){

if(i * ip)

{

返回1;

}

否则if(i< * ip)

{

返回-1;

}

其他

{

返回0; / *如果两个价值相等。他将返回零* /

}

}

int main()

{

std :: cout<< 输入initeger:;

int i;

std :: cin> i;


std: :cout<< 输入initeger:;

int j;

std :: cin> j;


const int * pj =& j;


std :: cout<< 是

<<我

<< "大于

<< j

<< ":\t"

<< (return_bigger(i,pj))

<< std :: endl;


返回0;

}


====== OUTPUT == =======

[arnuld @ arch cpp] $ g ++ -ansi -pedantic -Wall -Wextra ex_07-05.cpp

[arnuld @ arch cpp] $ ./a.out

输入一个initeger:3

输入一个initeger:2

大于2:1

[arnuld @ arch cpp] $ ./a.out

输入一个initeger:-9

输入一个initeger:-10

是-9大于-10:1

[arnuld @ arch cpp] $ ./a.out

输入一个initeger:3

输入一个initeger:3

比3大3:

[arnuld @ arch cpp] $


-
http://arnuld.blogspot.com

解决方案

g ++ -ansi -pedantic -Wall -Wextra ex_07-05.cpp

[arnuld @ arch cpp]


./ a.out

输入一个initeger:3

输入一个initeger:2

是3大于2:1

[arnuld @ arch cpp]


./ a.out

输入一个initeger:-9

输入一个initeger:-10

是-9大于-10:1

[arnuld @ arch cpp]


as usual , advices for improvement:
/* C++ Primer - 4/e
*
* exercise 7.5
* STATEMENT:
* write a funtion that take an int and a pointer to an int and
return the larger of the values. What type should you use for the
pointer ?
*/
#include <iostream>
#include <cassert>

/* we will use pointer to a const because we are interested in
only reading the values */
int return_bigger( int i, const int* ip) {
if( i *ip )
{
return 1;
}
else if( i < *ip )
{
return -1;
}
else
{
return 0; /* if both vales are equal.t his will return Zero */
}
}
int main()
{
std::cout << "enter an initeger: ";
int i;
std::cin >i;

std::cout << "enter an initeger: ";
int j;
std::cin >j;

const int* pj = &j;

std::cout << "is "
<< i
<< " bigger than "
<< j
<< ":\t"
<< (return_bigger( i, pj ))
<< std::endl;

return 0;
}

====== OUTPUT =========
[arnuld@arch cpp] $ g++ -ansi -pedantic -Wall -Wextra ex_07-05.cpp
[arnuld@arch cpp] $ ./a.out
enter an initeger: 3
enter an initeger: 2
is 3 bigger than 2: 1
[arnuld@arch cpp] $ ./a.out
enter an initeger: -9
enter an initeger: -10
is -9 bigger than -10: 1
[arnuld@arch cpp] $ ./a.out
enter an initeger: 3
enter an initeger: 3
is 3 bigger than 3: 0
[arnuld@arch cpp] $

--
http://arnuld.blogspot.com

解决方案

g++ -ansi -pedantic -Wall -Wextra ex_07-05.cpp
[arnuld@arch cpp]


./a.out
enter an initeger: 3
enter an initeger: 2
is 3 bigger than 2: 1
[arnuld@arch cpp]


./a.out
enter an initeger: -9
enter an initeger: -10
is -9 bigger than -10: 1
[arnuld@arch cpp]


这篇关于C ++ Primer ex 7.5的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆