C语言中运行结果出现“floating point error :Domain”是什么意思?(1)

来源:百度知道 编辑:UC知道 时间:2024/05/18 20:21:00
这是我的程序,哪位帮忙看下要怎么改啊?万分感谢!!!
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <float.h>
#define POPSIZE 500
#define MAXIMIZATION 1
#define MINIMIZATION 2
#define Cmax 100
#define Cmin 0
#define LENGTH1 10
#define LENGTH2 10
#define CHROMLENGTH LENGTH1+LENGTH2
int FunctionMode=MAXIMIZATION;
int PopSize=80;
int MaxGeneration=200;
double Pc=0.6;
double Pm=0.001;
struct individual
{
char chrom
[CHROMLENGTH+1];
double value;
double fitness;
};
int generation;
int best_index;
int worst_index;
struct individual
bestindividual;
struct individual
worstindividual;
struct individual currentbest;
struct individual population
[POPSIZE];
void GenerateInitialPopulation(void);
void GenerateNextPopulation(void);
void EvaluatePopulation(void);
long D

这种错误引起原因较多,通常是溢出。
例如,输入格式不对,输入变量漏了 &,数组超界,数据超界,分母(除数)为零。

你的子程序没有给全,无法给你试运行。

一般这种错,要插入一些打印语句根踪变量变化,找到出错地点和语句,再改正。

例如找出错地点:
printf("pass 1\n");
....
printf("pass 2\n");
....
printf("pass 3\n");
...