将变量赋给数组位置[C]

时间:2016-11-10 04:43:27

标签: c arrays variables

我开始编码,现在我已经摸不着头脑了。如何将变量赋值给数组位置?

我希望用户插入A,B,C和D,然后将这些值存储为矢量,这样我就可以稍后使用行斜率进行操作。

int a, b, c, d, e, f, g, h;
int AB, CD, AC, BD;

printf("\n\n  A ___________________ B");
printf("\n   |                   |    ");
printf("\n   |                   |    ");
printf("\n   |                   |    ");
printf("\n   |                   |    ");
printf("\n   |___________________|    ");
printf("\n  C                     D    ");
printf("\n\n\nA(a, b):");
printf("\n-> ");
scanf("%d", &a);
printf("\n-> ");
scanf("%d", &b);
printf("\n\nB(c, d): ");
printf("\n-> ");
scanf("%d", &c);
printf("\n-> ");
scanf("%d", &d);
printf("\n\nC(e, f): ");
printf("\n-> ");
scanf("%d", &e);
printf("\n-> ");
scanf("%d", &f);
printf("\n\nD(g, h): ");
printf("\n-> ");
scanf("%d", &g);
printf("\n-> ");
scanf("%d", &h);

printf("\n\nA = (%d, %d)", a, b);
printf("\n\nB = (%d, %d)", c, d);
printf("\n\nC = (%d, %d)", e, f);
printf("\n\nD = (%d, %d)", g, h);

//VECTOR AB
AB[0]=c-a;
AB[1]=d-b;

//VECTOR CD
CD[0]=g-e;
CD[1]=h-f;

//VECTOR AC
AC[0]=e-a;
AC[1]=f-b;

//VECTOR BD
BD[0]=g-c;
BD[1]=h-d;

该代码的最后一部分不起作用,所以我假设我不能像那样分配变量。我能做些什么才能做到这一点?

非常感谢!

1 个答案:

答案 0 :(得分:2)

您必须将AB,CD,AC,BD声明为数组:

 int AB[2], CD[2], AC[2], BD[2];

2是数组大小。我之所以选择它,是因为我没有在代码中看到比1更大的元素索引。

这是C的基础。如果你想使用它,你必须学习语言。