This question already has answers here:
“printf” only printing variable addresses
(2个答案)
4个月前关闭。
因此,我使用C已有几天,以前我没有遇到这个问题,但是现在我遇到了C扫描与用户输入的数字不同的数字的问题。我觉得它会打印数字的位置,而不是数字本身。我每次得到的数字是6422076,如果我打印了另一个从用户扫描的数字,它只会显示相同的数字-4、6422072,因此,我敢肯定,这与计算机存储数字的位置有关。
我尝试用其他几种方式打印它,并且总是得到相同的怪异数字。
没有任何错误
您没有打印
(2个答案)
4个月前关闭。
因此,我使用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);
}
没有任何错误
最佳答案
这是您的问题:
printf("height: %d\n",&height);
您没有打印
height
的值。您正在打印其地址。删除运算符的地址:printf("height: %d\n",height);
关于c - 为什么scanf扫描的号码不同于我输入的号码? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58355575/
10-11 21:55