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

What is " int x,y,z = 1 " doing, if not assigning 1 to each?

我是 C/C++ 的新手,我注意到我的程序计算了错误的值。我发现问题出在我对 C/C++ 中变量声明如何工作的理解上。 x,y,z = 1,2,3 在 Python 中工作正常,而 x,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

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

shorthand 用于:

int x;
int y;
int z = 1;

xy 未分配。

int x,y,z = 1 仅将 z 初始化为 1,xy 保持 未初始化