【发布时间】:2016-08-22 09:42:26
【问题描述】:
我在一个程序中得到了一个公式,该公式依赖于在数组中累积数字的幂。我在其他页面上注册了这个,但这不是我需要的:
#include <stdio.h>
#include <math.h>
int main (){
int x, y, powernumber;
scanf ("%d %d",&x,&y);
powernumber = pow(x,y);
printf ("Powernumber = %d",powernumber);
return 0;}
没关系,但我必须为每个 powernumber 分配一个插槽。
目前的问题是这样的:
int array [100];
int i, int1;
scanf ("%d",&int1);
for (i=0; i<=100; i++)
{array [i] = 1 / pow(2, int1); // <-----------------ERROR
printf ("%d %d\n",i+1,array [i]);}
return 0;}
公式的要点是,用户输入一个数字,这个数字将作为一个幂数累加,每次循环进行一轮,直到循环在 i=100 处终止。假设用户输入数字 3。程序第一次执行 2^3,然后下一次执行 2^4,然后是 2^5,在一个数组中。它适用于乘法和除法等普通运算符,但不适用于幂数。上面的示例是一个剥离版本,因此它可能适用于编译器。但希望这个问题是可以理解的。
【问题讨论】:
-
当出现错误时,请务必输入错误信息,以方便stack-overflowers快速了解问题。
-
你至少有一个错误,
i<=100应该是i < 100。现在您的循环尝试在最后一次迭代中分配给array[100],这是一个溢出。
标签: c