为什么scanf扫描的号码与输入的号码不同?

时间:2019-10-12 15:17:33

标签: c

所以我使用C几天了,以前我没有这个问题,但是现在我遇到了C扫描与用户输入的数字不同的问题。我觉得它会打印数字的位置,而不是数字本身。我每次得到的数字是6422076,如果我打印了我从用户扫描过的另一个数字,它只会显示相同的数字-4、6422072,所以我敢肯定,这与计算机存储数字的位置有关

我尝试用其他几种方式打印它,并且总是得到相同的怪异数字。

void measures()
{
    int height;

printf("\nEnter your height:\n");
scanf("%d",&height);
while(height<140 || height>210){
    printf("Invalid input, try again: \n");
    scanf("%d",&height);
}

printf("height: %d\n",&height);
}

没有任何错误

1 个答案:

答案 0 :(得分:2)

这是您的问题:

printf("height: %d\n",&height);

您没有打印height的值。您正在打印其地址。删除操作员的地址:

printf("height: %d\n",height);
相关问题