C语言全局变量和数组问题

请问如何通过myAdd 函数来实线数组元素的插入和排序,怎样将输入数组长度赋值给size。

#include <stdio.h>

#define MAX_SIZE 20
#define SUCCESS 0

int size; // global variable

int myAdd( int A[], int d )
{

}

int myBinarySearch_Iterative( int A[], int d )
{

}

int myRemove( int A[], int d )
{

}

img

int printArray( int A[])
{
int i;
printf("[ ");
for ( i = 0; i < size; i++ )
printf("%d ", A[ i ] );
printf( "]\n" );
return 0;
}

int main()
{
int myArray[MAX_SIZE];
int retCode, data, size;
char action;
char a[20];
do {
fgets(a, 20, stdin);
sscanf(a, "%c %d", &action, &data );

switch( action )
{
case 'a':
case 'A':
retCode = myAdd( myArray, data );
if ( retCode >= SUCCESS ) {
printArray( myArray);
}
else
printf( "Failed to add %d.\n", data );
break;

case 'r': 
case 'R':
  retCode = myRemove( myArray, data );
  if ( retCode >= SUCCESS ) {
    printArray( myArray); 
  }
  else
    printf( "Failed to remove %d.\n", data );    
  break;  
                
case 's': 
case 'S':
  retCode = myBinarySearch_Iterative( myArray, data );
  if( retCode >= 0 )
    printf( "Found %d at index %d.\n", data, retCode );
  else 
    printf( "Not found %d.\n", data );        
  break;
  
case 'q':  
case 'Q':

  break; 

default:
  printf( "Invalid operation %c\n", action );  

}
} while ( action != 'q' && action != 'Q' );

return 0;
}

插入和排序需要分开函数实现,或者调用sor函数,而大小可以用strlen,或者mian函数用sizeof计算,也可以申请动态内存

求长度
sizeof(a)/a[0]
插入
传参插入位置,位置之后每个元素向后覆盖一个单位
完毕后 插入元素覆盖插入点位置

排序
九大排序自己随便写一个