[英]C - Integer throwing out random value?
目前,我正在用C编写一个简单的程序,该程序读取用户在循环中输入的值。 由于某种原因,当我初始化整数a
我会得到一个随机值,而不是我指定的值。 任何帮助将不胜感激
#include <stdio.h>
int main()
{
char sName[10];
int sTime;
int a = 0;
printf("%d", &a);
printf("Please enter the name of your snail: ");
scanf("%s", &sName);
for(a = 10; a < 20; a = a + 1) {
printf("%d", &a);
printf("Please enter the %d time of your snail: ", &a + 1);
scanf(" %d ", &sTime);
}
return 0;
}
更改此:
printf("%d", &a);
对此:
printf("%d", a);
&a
是的地址a
(和它的类型int*
,那么%d
是错误的格式)。 a
为您提供a
的值。
您仍然需要&
in scanf(" %d ", &sTime);
; scanf
需要的地址sTime
,所以它知道在哪里存储的值。
你打印的地址a
。 您不希望&
在其中:
printf("%d", a);
您确实需要&
for scanf()
因为您需要告诉该函数将值存储在哪个位置(什么地址)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.