我正在试用c中的pow-function,出了点问题。
#include <math.h>
#include <stdio.h>
int main(){
int highnumber = 18;
int input = 344;
int diff[18];
for(int j = 1; j<=highnumber; j++){
diff[j-1] = input - pow(j,2);
printf("%d\n",diff[j-1]);
}
}
我得到了输出:
343
340
335
328
319
308
295
280
263
244
223
200
175
147
119
88
54
19
现在最后两个条目对我来说没有意义。他们应该是55岁和20岁。任何人都知道为什么会这样?
好的,我更改了索引,并显示pow功能有效:
#include <math.h>
#include <stdio.h>
int main(){
int highnumber = 18;
int input = 344;
int diff[18];
for(int j = 0; j<=highnumber; j++){
diff[j] = input - pow(j,2);
printf("%d\n",diff[j]);
}
int a = input - pow(17,2);
int b = input - pow(18,2);
printf("%d\n%d",a,b);
}
输出:
344 343 340 335 328 319 308 295 280 263 244 223 200 175 147 119 88 54 19 55 20