如果不为每个分配 1,“ int x,y,z = 1 ”在做什么?

Exi*_*ode 3 c++ variable-assignment

我是 C/C++ 新手,我注意到我的程序计算了错误的值。我发现问题在于我对 C/C++ 中变量声明的工作方式的理解。 x,y,z = 1,2,3在 Python 中工作正常,而 asx,y,z = 1则不然。 int x,y,z = 1,2,3不能在 C/C++ 中工作,但int x,y,z = 1可以,因为cout << x;输出 16,我预计它是 1。

#include <iostream>
using namespace std;

int main() {

    int x, y, z = 1;
    cout << x;
    
    return 0;

}

// The output is 16
Run Code Online (Sandbox Code Playgroud)

int x,y,z = 1如果不为每个分配 1,则操作在做什么?

Joh*_*ica 8

它是以下的简写:

int x;
int y;
int z = 1;
Run Code Online (Sandbox Code Playgroud)

x并且y未分配。