简体   繁体   English

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

[英]C program compiles, but terminates right after execution

I have a simple c program that consists of main.c and selection_sort.c . 我有一个简单的c程序,它由main.cselection_sort.c I am compiling with gcc -Wall -Wextra main.c selection_sort.c I get no errors of warnings, but when executed it immediately terminates without any printf or system quot . 我正在使用gcc -Wall -Wextra main.c selection_sort.c编译,但没有收到警告错误,但是在执行时它立即终止,而没有任何printfsystem quot I am using Linux OS. 我正在使用Linux OS。

//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

Try this : 尝试这个 :

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM