]void menu()
{
int option;
printf("what would you like to do?");
printf("\n\t1. Create an Archive"); 
printf("\n\t2. extract an archive"); 
printf("\n\t3. Exit.");
scanf("%d", &option);
action( option ); 
} 

void action(int option)
{
int n1,n2;
if (option == 1)
{
// how do i get from here to my code thats in the main function ? 
}

It's recommended that you follow the normal path of calling and returning from functions. Organize the flow of control to fit that practice and all should be well. Example:

int main(void)
{
    int option;

    while ((option = menu()) != 3)
        action(option);

    return 0;
}