c程序,将数组传递给函数,提前终止

  • 本文关键字:函数 终止 程序 数组 c
  • 更新时间 :
  • 英文 :

#include <stdio.h>
#include <math.h>
void abs_table (double x[], int size);
int main (void) {
int size, index;
printf("Enter number of elements: ");
scanf("%d", &size);
double x[size], element;
for (index = 0; index < size; index++) {
printf("Enter x[%d]: ", index);
scanf("%lf", &element);
x[index] = element;
}
void abs_table (double x[], int size);
return 0;
}
void abs_table (double x[], int size) {
int index;
double y[size];
for (index = 0; index < size; index++) {
y[index] = fabs(x[index]);
printf("%lft%lfn", x, y);
}
}

程序读取数组值,并使用void函数显示每个元素的绝对值。

程序在将值存储到数组x后终止。

  1. 调用abs_table(),而不是在main()中声明。
  2. abs_table()中索引x和y打印语句。当你不使用y而不是打印当前值时,请消除它。
  3. (minor)将main()移到函数之后,这样就不需要声明了。
  4. (minor)最小化变量的作用域
  5. (次要,不固定)如果你的size参数在x之前,那么你可以记录它们的关系void abs_table(int size, double x[size])
  6. (小。
  7. (不固定)检查scanf()是否在代码中返回1,否则sizex[index]的值可能未定义。
#include <stdio.h>
#include <math.h>
void abs_table (double x[], int size) {
for (int index = 0; index < size; index++) {
printf("%lft%lfn", x[index], fabs(x[index]));
}
}
int main (void) {
int size;
printf("Enter number of elements: ");
scanf("%d", &size);
double x[size];
for (int index = 0; index < size; index++) {
printf("Enter x[%d]: ", index);
scanf("%lf", &x[index]);
}
abs_table(x, size);
return 0;
}

下面是一个示例;

Enter number of elements: 3
Enter x[0]: -1.2
Enter x[1]: 1.3
Enter x[2]: -100
-1.200000       1.200000
1.300000        1.300000
-100.000000     100.000000

最新更新