从求和中得到错误的输出

问题描述

我今天刚刚为 C++ 设置了 VS 代码,我尝试检查是否一切正常。首先,我尝试打印“Hello World”并且成功了。然后我写了这个:

#include <stdio.h>

int main()
{
    int x = 10,y = 20,z;
    z = x + y;
    printf("%d + %d = %d",&x,&y,&z);
    return 0;
}

运行那个简单的代码后,我得到了一个输出6422220 + 6422216 = 6422212

哪里出了问题?

解决方法

您正在此处打印 xyz 的地址

printf("%d + %d = %d",&x,&y,&z);

这将打印值

printf("%d + %d = %d",x,y,z);
,

您为 C++ 设置了 VS 代码,但您编写了 C 程序? 考虑您的输出,它显示正确,因为您正在打印变量 x、y 和 z 的地址。 (&) - 这是一个引用运算符。它用于访问地址。 假设 x 是你的变量 &x 是变量 x 的地址。