有人能帮我做这个C程序吗?

有人能帮我做这个C程序吗?,c,printf,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; } #包括 内部主(空) { int i=0,x=0;

我刚刚开始学习编码

#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;
}
#包括
内部主(空)
{
int i=0,x=0;
对于(i=1;i的直线:

printf("the numbers are : %d", &x);
printf
需要一个整数,因为
%d
格式说明符,您给了它一个整数的地址,这就是
&
的意思,地址是
x
。要解决这个问题,请给
printf
一个它想要的
int

printf("the numbers are : %d", x);
符号(
&
)运算符返回一个变量的地址,它不是您想要的-您只需要值。另外,请注意,您不需要两个变量(
x
i
)-您只需使用循环计数器即可:

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

对于(i=1;i删除&将消除错误。您可能还需要移动“数字为:”语句OUT是循环的一部分,因此文本不会每次通过循环打印。

删除符号and。然后,在循环之前打印公告,只打印循环中的数字。然后使用单个变量
i
进一步简化。将
x
替换为
i
并删除
x++
是否启用了所有编译器警告?您读过吗?您应该会看到类似于
格式指定类型“int”,但参数的类型为“int*”
。抱歉!我知道那里不应该有符号!这是一个键入错误。它正在工作!:):)回滚。不要编辑你的问题,留下没有上下文的答案。你应该编辑它,并将第二个x也更改为i。
printf(“%d”,i);
循环中的输出将非常不可读。你可能需要换行符或数字之间的空格。只是好奇-你的答案如何改进其他相同的答案?