C++新手,大家帮我看一看为什么这个赋值显示的不对,把int i =0删掉就好了,

图片说明图片说明

首先如果你用的是vs测试这段代码的话,它都会报如下图所示的错误:
图片说明
这正如c++primer中第40页所说的(定义在函数内部的内置类型变量将不被初始化,如果试图去拷贝或者其他形式访问这类值的话将会引发错误)。
但是如果在vc这类的编译器上执行这段代码就不会发生错误,他就会为a和e赋一个随机数。如下图所示:
图片说明
随意你的赋值得到的a和e输出的就是随机数,但是对于不同编译器随机数的输出又不同。

e没有初始化,没有初始化在C/C++中可以是任意值,不像Java会被初始化为0。

把int i =0删掉就好了,????

你是用的VS?我使用GCC编译器测试,a,e均是随机值,而且c++中普通的局部变量是不会默认初始化的,也就是随机值,只有全局或者静态全局变量才会有默认值。
int main()
{

int i=0;

static int a,e ,cout_i=0;
int o=0;    
int u=0;
cout<<a<<","<<e<<","<<cout_i<<","<<o<<","<<u<<endl;
return 0;

}
这样 a,e 就会是0



定义变量的时候或使用前先初始化一个值。

a...e...你就你没赋值是 随机数 所以 不是你要的数啊

a,e为随机数,只不过a的随机值恰好为0罢了

这个e的值应该是0啊,为什么显示的是62?