我刚开始学习编码
#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整除。
答案 0 :(得分:1)
在行中:
printf("the numbers are : %d", &x);
由于printf
格式说明符, %d
期望一个整数,你给它一个整数的地址,这就是&
的含义,地址x
。要解决此问题,请printf
:
int
所需的内容
printf("the numbers are : %d", x);
答案 1 :(得分:1)
&符号(&
)运算符返回变量的地址,这不是您想要的 - 您只需要该值。另请注意,您不需要两个变量(x
和i
) - 您只需使用循环计数器:
printf("The numbers are:\n");
for (i = 1; i <= 100; i++) {
if (i % 5 == 0 || i % 3 == 0) {
printf("%d ", i);
}
}
答案 2 :(得分:0)
删除&amp;将消除错误。您可能还想移动循环中的“数字是:”语句,因此每次循环时都不会打印文本。