根据我的理解,函数和void函数可以被调用,并且它们将在其中执行代码。
然而,我不明白括号内的变量的用途。即使少了其中一个,代码也无法运行。然而,似乎您可以为这些变量分配不同的名称,它仍然可以工作。
这些变量是如何相互联系/相互作用的?指:
1.)双倍幂(双基,int指数)
2.)void print_pow(双基,int指数)
3.)print_pow(基数、指数);
#include <iostream>
#include <cmath>
using namespace std;
double power(double base, int exponent)
{
double result = 1;
for(int i=0; i < exponent; i++)
{
result = result * base;
}
return result;
}
void print_pow(double base, int exponent)
{
double myPower = power (base, exponent);
cout << base << " raised to the " << exponent << " power is " << myPower << ". \n ";
}
int main()
{
double base;
int exponent;
cout << "What is the base?: ";
cin >> base;
cout << "What is the exponent?: ";
cin >> exponent;
print_pow(base, exponent);
}
这里应用的命名方案有点不幸。这些变量的名字几乎可以是任何东西,最好花点时间找到好的名字。不过,为了说明它们是不同的实体,我只是把它们变得不同:
#include<iostream>
#include<cmath>
using namespace std;
double power (double base, int exponent)
{
double result = 1;
for(int i=0; i < exponent; i++)
{
result = result * base;
}
return result;
}
void print_pow(double a, int b)
{
double myPower = power (a, b);
cout << a << " raised to the " << b << " power is " << myPower << ". \n ";
}
int main()
{
double x;
int y;
cout << "What is the base?: ";
cin >> x;
cout << "What is the exponent?: ";
cin >> y;
print_pow(x, y);
}
变量是在一定范围内声明的。只有在此范围内,您才能访问该变量。在您的代码中有3
不同的变量,称为base
。那之间并没有神奇的关系,只是因为他们有相同的名字。它们通过使用参数print_pow(x,y)
调用函数来“连接”,参数的名称与函数无关,函数参数的名称与调用者无关(除了提示参数的用途)。
想象一下这段代码本身:
double power ()
{
double result = 1;
for(int i=0; i < exponent; i++)
{
result = result * base;
}
return result;
}
你能告诉我什么是基数
和指数
以及它们是从哪里来的吗?
答案是否定的。如果你不能说,编译器也不能说。在我的代码中,没有声明base
和exponent
。
这些被称为函数参数。他们完全是他们听起来的样子。可以用数学符号做一个很好的类比:
f(x) = x * 2
括号中是函数的参数。
现在考虑一个与您的代码非常相似的代码,但参数的名称发生了更改:
double power(double base, int exponent)
{
double result = 1;
for(int i=0; i < exponent; i++)
{
result = result * base;
}
return result;
}
// Name changed! ----v------v
void print_pow(double b, int e)
{
double myPower = power(b, e);
cout << base << " raised to the " << exponent << " power is " << myPower << ". \n ";
}
正如您所看到的,参数可以相互映射,而不依赖于它们的名称。base
将取b
的值,exponent
将取e
的值。
函数参数的一个重要性质是它们的作用就像局部变量一样。这种本地实体不受外部实体名称的影响。因此,如果在您的代码中,它们是名为base
和exponent
的多个变量,它们是不同的实体,因为它们具有不同的作用域。
如果您愿意,可以编写这样的函数:
void print_pow2(double base, int exponent)
{
double myPower = power(base * 2, 3);
cout << base << " raised to the " << exponent << " power is " << myPower << ". \n ";
}
正如您所看到的,即使名称相同,base
和exponent
在power
中的值也不会相同。您甚至可以注意到,power
中的exponent
将与print_power2
中的exponent
没有关系,因为我发送了常数3
。
如果我再对数学符号做一个类比:
f(x) = x * 2
g(x) = f(x * 2) / 3
即使g
和f
都具有x
作为参数,但x
是不同的,并且在每个函数中使用不同的值。
本文向大家介绍虚函数与纯虚函数之间的区别,包括了虚函数与纯虚函数之间的区别的使用技巧和注意事项,需要的朋友参考一下 在本文中,我们将了解虚拟和纯虚拟功能之间的区别。 虚函数 它在类中有自己的定义。 基类可以覆盖虚拟函数。 它没有派生类。 声明 纯虚函数 没有定义。 如果一个类至少具有一个虚函数,则可以将其声明为抽象。 派生类必须重写纯虚函数才能使用它。 通过在声明中放置“ = 0”来指定纯虚函数
问题内容: 在中,我使用或计算成对互相关函数,以便找出哪个偏移使我获得了最大值。从它的外观来看,给了我一个规范化的值序列。Python的scipy中是否有类似的东西,还是应该使用该模块?目前,我正在执行以下操作: 问题答案: 要使一维数组互相关,请使用numpy.correlate。 对于2d数组,请使用scipy.signal.correlate2d。 还有scipy.stsci.convolv
我们如何一起使用数组和数组列表(如果可能的话)? 我想将一些字符串存储到数组列表中,稍后将它们取出,解析成字符串数组,将这些数组存储在数组列表中,稍后能够从数组列表中检索数据... 查看这段代码,并随意将我拆分为做蹩脚的编码;我已经有一段时间没有使用Java了。 在前面,我已经将一些外部文件转储到< code>nonParsedData中。就是一串弦。没什么大不了的。我取出这些字符串,读取它们,放
本文向大家介绍UIWebView和JavaScript之间是怎么交互的?相关面试题,主要包含被问及UIWebView和JavaScript之间是怎么交互的?时的应答技巧和注意事项,需要的朋友参考一下 UlWebView是i〇S SDK中渲染网面的控件,在显示网页的时候,我们可以hack网页 然后显示想显示的内容。其中就要用至JavaScript的知识,而UlWebView与javascript交互
我有一个包含文本字段(红色、绿色、蓝色)和滑块(红色、绿色、蓝色)的面板。用户应该能够使用他们喜欢的任何组件,相应的组件应该更新。(例如,在红色文本字段中输入100应将红色滑块移动到100)。
本文向大家介绍MySQL中日期和时间戳互相转换的函数和方法,包括了MySQL中日期和时间戳互相转换的函数和方法的使用技巧和注意事项,需要的朋友参考一下 ① 时间戳转换成日期 例如: 数据表中 invest_time 存储的是时间戳,如 1429063399 使用 FROM_UNIXTIME 可以把时间戳转换为日期: 执行结果: ② 把日期转换为时间戳,和 FROM_UNIXTIME 正好相反 例如