如何使用将从函数传递的数组中的信息?
#include <stdio.h>
double get_number(double[]);
main {
double x, z[100];
char m;
do {
x = get_number[z];
printf("More numbers?");
scanf (" %c", &m);
}
while ((m == 'Y')||(m == 'y'))
}
double get_number(double arr[])
{
printf ("Please enter number : ?");
scanf("%d", &arr);
return arr;
}
例如 当用户按Y次并用两个或三个数字填充数组时。 我该如何操作这些数字?算他们或只是显示他们。
答案 0 :(得分:1)
使用for()循环。
for (int i = 0; i < array_size; i++) {
printf ("Number at index %d: %f", i, arr[i]);
}
当然,您需要事先知道尺寸。并且不要像这样使用scanf(),为什么不使用:
double get_input ()
{
double number = 0;
printf ("Please enter number: ");
scanf ("%d", &number);
return number;
}
将数组长度定义为固定的:
#define ARRAY_SIZE 1024
如果您需要更多,请增加值或考虑使用列表结构。
希望这有帮助
修改强>
例如,如果要获得总和,则需要先初始化数组:
double array[ARRAY_SIZE];
for (int i = 0; i < ARRAY_SIZE; i++) array[i] = 0;
然后你得到了输入:
char input;
int counter = 0;
do {
if (counter > ARRAY_SIZE) break; // dont cause a segmentation fault
scanf ("%c", &input);
double number = get_input();
array[counter] = number;
} while (input == 'Y' || input == 'y');
然后当这样做时,只需通过数组并总结:
int sum = 0;
for (int i = 0; i < ARRAY_SIZE; i++) {
sum += array[i];
}