Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C程序编译,但在执行后立即终止_C_Linux_Gcc - Fatal编程技术网

C程序编译,但在执行后立即终止

C程序编译,但在执行后立即终止,c,linux,gcc,C,Linux,Gcc,我有一个简单的c程序,它由main.c和selection\u sort.c组成。 我使用gcc-Wall-Wextra main.c selection\u sort.c进行编译 我没有收到任何警告错误,但当执行时,它立即终止,没有任何printf或system quot。我正在使用Linux操作系统 //main.c #include <stdio.h> #include <stdlib.h> #include <time.h> void select

我有一个简单的c程序,它由main.c和selection\u sort.c组成。 我使用gcc-Wall-Wextra main.c selection\u sort.c进行编译 我没有收到任何警告错误,但当执行时,它立即终止,没有任何printf或system quot。我正在使用Linux操作系统

//main.c

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void selection_sort();

int main(void) {
    printf("Program started...\n");
    selection_sort();
    printf("Selection_sort has finished...\n");

    return 0;
}


//selection_sort.c
#include <stdio.h>
#include <stdlib.h>
#define size 10000

void selection_sort() {
    int i,j, array[size];

    for(i = 0; i < size; i++) {
        int num = rand() % size;
        array[i] = num;
        printf("%d ", num);
    }

    for(i = 0; i < size; i++){
        int max_index = i;
        for(j = 0; j < size; j++) {
            if(array[j] > max_index) {
                max_index = array[j];
            }
        }

        int tmp = array[i];
        array[i] = array[max_index];
        array[max_index] = tmp;
    }

    printf("\n");

    for(i = 0; i < size;i++){
        printf("%d", array[i]);
    }       
}

编译时应使用:

    gcc -o main  main.c selection_sort.c -Wall -Wextra
试试这个:

gcc -c main.c
gcc -c selection_sort.c
gcc -o myprog main.o selection_sort.o
./myprog

如果选择\排序函数被添加到主.c文件中,对我来说效果很好。以哪种方式?像gdb?不,遗憾的是,我不太熟悉gdb的使用。这个程序在这里运行得很好,但是它没有对数组进行排序。对于fedorqui来说,这就是问题所在。这个程序是一个学校作业,它应该是一个多源文件程序。你能给我们展示一个你运行这个程序却什么都没发生的例子吗?e、 g.从终端复制/粘贴。从这里很难说,是的!非常感谢这一点。编译完程序后,您是如何启动程序的?这与gcc选择_sort.c main.c-o myprog有什么区别?thx@notbad:实际上none@MichaelWalz所以问题是他没有跑。/a.出去?: