如果人们可以查看这段代码并让我知道可能导致浮点异常的原因,我将不胜感激。
信息:
我很困惑,因为没有可能导致此问题的除法,浮点数或整数。
for (count = 0; count < sizeof(branches); count++){
if (fgets(line,sizeof(line),fp)==NULL)
break;
else {
int branch_taken = line[16] - 48;
branches[count] = branch_taken;
}
}
答案 0 :(得分:7)
sizeof(branches)
是字节的大小 - 你需要使用一个表示元素的数量的常量,即200,否则你将超出界限您的branches
数组,这将导致未定义的行为。
您的代码可能看起来像这样:
#define NUM_BRANCHES 200
int branches[NUM_BRANCHES];
for (count = 0; count < NUM_BRANCHES; count++)
{
...