任何人都可以帮我这个C程序吗?

时间:2016-05-25 18:10:19

标签: c printf

我刚开始学习编码

#include <stdio.h>

int main(void)
{
    int i=0, x=0;

    for (i=1; i<=100; i++) {

        x++;
        if (x%5==0 || x%3==0)
            printf("The numbers are : %d\n", &x);
    }
    return 0;
}

所以我试图打印所有整数&lt; = 100,可以被3或5整除。

3 个答案:

答案 0 :(得分:1)

在行中:

printf("the numbers are : %d", &x);
由于printf格式说明符,

%d期望一个整数,你给它一个整数的地址,这就是&的含义,地址x 。要解决此问题,请printf

给出int所需的内容
printf("the numbers are : %d", x);

答案 1 :(得分:1)

&符号(&)运算符返回变量的地址,这不是您想要的 - 您只需要该值。另请注意,您不需要两个变量(xi) - 您只需使用循环计数器:

printf("The numbers are:\n");
for (i = 1; i <= 100; i++) {
    if (i % 5 == 0 || i % 3 == 0) {
        printf("%d ", i);
    }
}

答案 2 :(得分:0)

删除&amp;将消除错误。您可能还想移动循环中的“数字是:”语句,因此每次循环时都不会打印文本。