C语言编程题
程序改错题,下列给定的程序中,函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。。
#include <stdio.h>
#include <math.h>
void fun(int a, int *b, int *c)
{
int i,j,d,y;
for (i=3;i<=a/2;i=i+2)
{
/***********FOUND***********/
y=1;
for (j=2;j<=sqrt((double)i );j++)
if (i%j==0) y=0;
if (y==1)
{
/***********FOUND***********/
d=a-i;
for (j=2;j<=sqrt((double)d );j++)
if (d%j==0) y=0;
if (y==1)
{
*b=i;
*c=d;
}
}
}
}
void main()
{
int a,b,c;
do
{
printf("\nInput a: ");
scanf("%d",&a);
}
while(a%2);
fun(a,&b,&c);
printf("\n\n%d=%d+%d\n",a,b,c);
}
运行示例
但是我觉得,完全没必要这样写,太复杂繁琐,如果不是考试,可以参考这篇文章
详细的自定义大小数组的方法(不用链表),内存的动态分配
**二级C语言不迷路。
需要分析可以到微信公众号发送问题或者在评论区留言
**
量子云基地