c - 如何将 main 转换为函数

标签 c

有人可以帮我将此代码转换为函数,以便我稍后可以在 main 上调用它吗?

这是我的main()功能

int     main(int argc, char **argv)
{
        t_node  *group_a;
        t_node  *group_b;
    
        group_a = NULL;
        group_b = NULL;
        if (argc > 1)
        {
            group_a = create_list(argc - 1, argv);
            if (is_sorted(&group_a) == 0)
            {
                if (list_len(&group_a) > 1 && list_len(&group_a) <= 3) 
                    sorting_3(&group_a);
                else if (list_len(&group_a) > 3 && list_len(&group_a) <= 5)
                    sorting_5(&group_a, &group_b);
                else if (list_len(&group_a) > 5 && list_len(&group_a) < 500)
                    sort(&group_a, &group_b, 5);
                else if (list_len(&group_a) >= 500)
                    sort(&group_a, &group_b, 11);
            }
        }
        remove_list(&group_a);
        remove_list(&group_b);
        return (0);
}

最佳答案

例如,您可以创建一个新函数并将主函数中的代码放入其中,然后稍后调用该新函数

int     foo(int argc, char **argv)
{
        t_node  *group_a;
        t_node  *group_b;

        group_a = NULL;
        group_b = NULL;
        if (argc > 1)
        {
            group_a = create_list(argc - 1, argv);
            if (is_sorted(&group_a) == 0)
            {
                if (list_len(&group_a) > 1 && list_len(&group_a) <= 3) 
                    sorting_3(&group_a);
                else if (list_len(&group_a) > 3 && list_len(&group_a) <= 5)
                    sorting_5(&group_a, &group_b);
                else if (list_len(&group_a) > 5 && list_len(&group_a) < 500)
                    sort(&group_a, &group_b, 5);
                else if (list_len(&group_a) >= 500)
                    sort(&group_a, &group_b, 11);
            }
        }
        remove_list(&group_a);
        remove_list(&group_b);
        return (0);
}

int main(int argc, char** argv) {
   //Your code here, then calling the function next,
   foo(argc, argv);
   return 0;
}

关于c - 如何将 main 转换为函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59990178/

相关文章:

C K&R : printf pointer = nil?

c - 读取字符串时如何排除空终止符?

c++ - 如何在我的 DLL 中调用我的 exe 中定义的函数?

c - 将 char 数组传递给函数以获取更新 char 数组的值

c - 为什么在 howstuffworks.com 上发布的这段代码不起作用?

c - 我的 strcpy 中的段错误

java - Glib内存分配错误

检测到 C 堆栈崩溃

C 编程浅线修复

c - 使用 TCP 套接字发送字节到字节