繁体   English   中英

C-整数抛出随机值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM