用c生成未完全填充的数组

  • 本文关键字:填充 数组 arrays c
  • 更新时间 :
  • 英文 :


是否有可能生成一个包含5个元素的数组,该数组可以不完全填充?

我想要创建的数组可以有5个元素的最大大小,如下面的代码所示:

#include <stdio.h>
#define M 5
void sort (int *, int);
void create (int *tab, int size);
void display();
void insert();
void del();
void exit();

int main()
{
int c;
int arr[M];
printf("Choose an option: n");
printf("1. Input values to the array (MUST BE DONE FIRST).n");
printf("2. Show elements of the array.n");
printf("3. Update array.n");
printf("4. Remove element from the array.n");
printf("5. Sort array. n");
printf("6. Exit program.n");
printf("nYour option: ");
scanf("%d", c);

switch(c)
{
case 1:
create(arr, size);
break;

case 2:
display();
break;

case 3:
insert();
break;

case 4:
del();
break;

case 5:
sort(int *, int);
break;

case 6:
exit();
break;
}
}
void create(int *tab, int size)
{
printf("Input amount of elements in array: ");
scanf("%d", &size);

}

这就是我到目前为止所做的。在之前版本的代码中,程序不是只填充所有5个元素中的几个元素,而是填充整个数组,将随机值放入比输入元素数量多的单元格中(例如,在一个只需要填充三个元素的数组中,它被完全填充,除了arr[3]arr[4]显示不需要的值:


******** MAIN MENU *********
1. Create table (CREATE IT FIRST!!!!) 
2. Display table
3. Add element
4. Delete element
5. EXIT
Enter your option : 1
Input amount of elements: 3
******** MAIN MENU *********
1. Create table (CREATE IT FIRST!!!!) 
2. Display table
3. Add element
4. Delete element
5. EXIT
Enter your option : 3
Tab[0]: 1
Tab[1]: 2
Tab[2]: 3
Tab[3]: 4
Tab[4]: 5
Tab[5]: 6
Tab[6]: 7
Tab[7]: 8
******** MAIN MENU *********
1. Create table (CREATE IT FIRST!!!!) 
2. Display table
3. Add element
4. Delete element
5. EXIT
Enter your option : 2
1 2 3 4 5 
******** MAIN MENU *********
1. Create table (CREATE IT FIRST!!!!) 
2. Display table
3. Add element
4. Delete element
5. EXIT
Enter your option : 

那么,是否有可能在C中生成一个未完全填充的数组?

不可以,你可以初始化部分数组,但整个数组将被填充。未初始化的元素将被归零。

最新更新