【发布时间】:2019-04-16 20:11:19
【问题描述】:
我想用另一半反转一半的数组输入。
#include <stdio.h>
#include <math.h>
void main() {
double size = 5;
int array[5] = {1, 2, 3, 4, 5};
int half_size = ceil(size / 2);
for(int i = 0; i < half_size; i++){
int a;
int rev = size - (i + 1);
array[i] = a;
array[i] = array[rev];
array[rev] = a;`enter code here`
}
printf("%d", array[5]);
}
【问题讨论】:
-
array[5]超出范围。另外我建议在这里考虑一种避免浮点数的方法。 -
你不能像这样打印整个数组:你必须循环打印每个元素。
-
如果要进行精确算术,请使用 int。 Double 用于比 int 可以容纳的范围更大的不精确算术。
-
array[i] = a;行的目的是什么,然后立即对 array[i] 进行另一个(不同的)赋值? -
void main()是错误的。 What should main() return in C and C++?,main() always returns int?。并且输出没有返回,它被打印出来了
标签: c