有人能帮我做这个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);
循环中的输出将非常不可读。你可能需要换行符或数字之间的空格。只是好奇-你的答案如何改进其他相同的答案?