求解呀
代码正确,输出却不对,劳烦大神解决一下。非常感谢!#include<stdio.h>int main()
{
int a,b;
_Bool flag=1;
printf("请输入一个数:");
scanf("%d",&a);
if(a>1)
{
for(b=2;b<a/2;b++)
{
if(a%b==0)
{
flag=0;
}
}
if(flag)
{
printf("%d是一个素数\n",&a);
}
else
{
printf("%d不是一个素数\n",&a);
}
}
else
{
printf("请输入大于1的数\n");
}
return 0;
}
无论输入什么数字,输出总会出现6356724这几个数字
printf("%d是一个素数\n",&a);
这是在打印a的地址
李星 发表于 2020-1-18 19:34
printf("%d是一个素数\n",&a);
这是在打印a的地址
请问学长,应该怎么改呢?输出那里有问题,比如输入23,enter 后为“6356724为素数” 应该这样改:
#include <stdio.h>
int main()
{
int a, b;
_Bool flag = 1;
printf("请输入一个数:");
scanf("%d", &a);
if (a > 1)
{
for (b = 2; b < a / 2; b++)
{
if (a % b == 0)
{
flag = 0;
}
}
if (flag)
{
printf("%d是一个素数\n", a);
}
else
{
printf("%d不是一个素数\n", a);
}
}
else
{
printf("请输入大于1的数\n");
}
return 0;
} zltzlt 发表于 2020-1-18 19:52
应该这样改:
非常感谢,搞定了,谢谢啦
页:
[1]