题目:用C语言编写程序,通过一个函数给主函数中定义的数组输入若干大于或等于0的整数,用负数作为输入结束标志,调用另一个函数输出该数组中的数据?
参考答案:
#include <stdio.h>
#define size_max 100
void inputarray(int array[], int* size);
void printarray(int array[], int size);
int main(void)
{
int size;
int array[size_max];
inputarray(array, &size);
printarray(array, size);
return 0;
}
void inputarray(int array[],int *size)
{
int num;
*size = 0;
while (*size<size_max)
{
scanf("%d", &num);
if (num < 0)
{
break;
}
array[*size] = num;
(*size)++;
}
}
void printarray(int array[],int size)
{
int i;
for (i = 0; i < size; i++)
{
printf("%d ",array[i]);
}
printf("\n");
}
代码说明:
-
宏定义:
#define size_max 100
:定义数组的最大大小为100。
-
主函数
main
:- 定义数组
array
和变量size
。 - 调用
inputarray
函数输入数据。 - 调用
printarray
函数输出数据。
- 定义数组
-
输入函数
inputarray
:- 使用
scanf
读取用户输入。 - 遇到负数时结束输入。
- 使用
-
输出函数
printarray
:- 遍历数组并输出每个元素的值。
重点:1.理解指针变量 "size"与*size,&size 它们之间的关系
2.形参为指针变量时,实参和形参之间的数据传递