-2
我的代碼應該生成5個數組。2個不同的代碼行在第一時間不工作,然後工作
- 第一和用0至窗口的最大分辨率參數第二(圖形生成窗口(寬度,高度))
- 第三和第四帶參數的從-20到20
- 第五帶參數,其等於從球的數量的功率+ 1
然而,在VisualStudio的2K8和2K12,所述第一陣列是全0,第三具有的值遠遠大於( - )20和第五有甚至大於0
更小的數字#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include "winbgi2.h"
int s, w;
int i;
int x[20], y[20], vx[20], vy[20], m[20];
void init(int a[20], int b[20], int c[20], int d[20], int e[20]);
void main() {
srand((unsigned) time(NULL));
int min;
int max;
min = 100;
max = 1000;
s = min + rand() % max;
w = min + rand() % max;
graphics(s, w);
init(&x[20], &y[20], &vx[20], &vy[20], &m[20]);
for (i = 1; i <= 20; i++) {
printf("Array element x=%ld \t is equal to %ld\n", i, x[i]);
};
for (i = 1; i <= 20; i++) {
printf("Array element y=%ld \t is equal to %ld\n", i, y[i]);
};
for (i = 1; i <= 20; i++) {
printf("Array element vx=%ld \t is equal to %ld\n", i, vx[i]);
};
for (i = 1; i <= 20; i++) {
printf("Array element vy=%ld \t is equal to %ld\n", i, vy[i]);
};
for (i = 1;i <= 20; i++) {
printf("Mass of ball m=%ld \tis %ld\n", i, m[i]);
};
wait();
}
void init(int a[20], int b[20], int c[20], int d[20], int e[20]) {
for (i = 1; i <= 20; i++)
a[i] = rand() % s;
for (i = 1; i <= 20; i++)
b[i] = rand() % w;
for (i = 1; i <= 20; i++)
c[i] =- 20 + rand() % 40;
for (i = 1; i <= 20; i++)
d[i] =- 20 + rand() % 40;
for (i = 1; i <= 20; i++)
e[i] = i * i * 2 + 1;
}
我感到茫然:爲什麼這段代碼有一段時間工作不好,並且下一次什麼都好。
做一些關於代碼的格式。 C中的數組也從零開始索引 –
這看起來很糟糕。另外它是'int main(void){return 0; }'或'int main(int argc,char * argv []){return 0; }'在C中。 – pzaenger
C中的序列是0的原點。 – BLUEPIXY