C+中的变量定义+;,定义3个变量? 我在C++代码中看到了这行,我刚开始C++,我不知道下面的行是什么!我猜它定义了三个变量:下限、上限和步骤,我以后不必初始化它们?i、 e:下=3,上=4

C+中的变量定义+;,定义3个变量? 我在C++代码中看到了这行,我刚开始C++,我不知道下面的行是什么!我猜它定义了三个变量:下限、上限和步骤,我以后不必初始化它们?i、 e:下=3,上=4,c++,C++,我的问题代码: int lower, upper, step; 它声明了3个变量。它不会初始化其中任何一个。这相当于写作 int lower; int upper; int step; 所有这些变量都已声明,但没有一个已初始化 如果要初始化它们,请执行以下操作: int lower = 0; int upper = 0; int step = 1; 上面的代码只声明了三个变量。它们都没有被初始化。如果你正在做面向对象C++,那么初始化在你的构造函数中或多或少会发生。但如果不是,你可以在函数

我的问题代码:

int lower, upper, step;

它声明了3个变量。它不会初始化其中任何一个。这相当于写作

int lower;
int upper;
int step;
所有这些变量都已声明,但没有一个已初始化

如果要初始化它们,请执行以下操作:

int lower = 0;
int upper = 0;
int step = 1;

上面的代码只声明了三个变量。它们都没有被初始化。如果你正在做面向对象C++,那么初始化在你的构造函数中或多或少会发生。但如果不是,你可以在函数或主体中进行初始化

初始化看起来像:

下限=5;

像这样声明这些变量是输入变量值所必需的 i、 e

cin>>较低; cin>>上部

这与初始化它们不同 i、 e


int上限=4

代码只是声明变量
lower
upper
step
,在内存中保留空间以允许在这些变量中存储数据。除非变量在全局范围内声明,否则它不会为它们赋值。在C++中,这些未初始化变量的值是;实际上,这意味着这些变量的值实际上是随机的,仅由为这些变量保留的内存位置中存在的剩余值决定

如果要在声明时为多个变量赋值,可以将赋值与声明放在同一行中:

int lower = 0, upper = 100, step = 1;
或者,您可以稍后为它们赋值,可能是通过输入语句:

int lower, upper, step;
cin >> lower >> upper >> step;
#包括
使用名称空间std;
int main(){
//变量声明;始终在变量名之前包含数据类型。
int较低;
int-upper;
整数步;
//在本例中,“int”是数据类型。
//初始化示例:
下限=0;
上限=5;
步骤=1;
}
//“较低”已初始化为0。
//“上限”已初始化为5。
//“步骤”已初始化为1。

代码声明了三个类型为
int
的变量,但是(在大多数情况下)不会初始化它们(如果要初始化它们,则会将所有变量的初始化为零)。您仍然需要初始化所有变量。谢谢。真有道理@simonc:如果这个声明出现在全局范围内,变量将被初始化为零。这里有一个很好的讨论:这是否意味着我以后可以在代码中使用lower=5,而不必执行“int lower=5;”?是的。变量
lower
已声明,以后可以在同一范围内使用。@user3175173:是的,但通常最好在声明时初始化变量,以避免在初始化变量之前意外使用它们。
#include <iostream>

using namespace std; 
int main(){

//Declaration of variables; always includes a data type before the variable name.   
int lower;
int upper; 
int step;

//In this example, "int" is the data type. 

//Example of initialization: 
lower = 0; 
upper = 5; 
step = 1; 
}

//"lower" has been initialized to 0. 
//"upper" has been initialized to 5. 
//"step" has been initialized to 1.