所以我使用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);
}
没有任何错误
答案 0 :(得分:2)
这是您的问题:
printf("height: %d\n",&height);
您没有打印height
的值。您正在打印其地址。删除操作员的地址:
printf("height: %d\n",height);