sort.c

来自「c指针讲义」· C语言 代码 · 共 49 行

C
49
字号
//读取、排序和打印一列整数。

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

//该函数由‘qsort’调用,用于比较整数。

int compare_integers( void const *a, void const *b )
{
	int const *pa = a;
	int const *pb = b;

	return *pa > *pb ? 1: *pa < *pb ? -1: 0;
}

int main()
{
	int *array;
	int n_value;
	int i;

	//分配内存用于存储这些值。
	array = malloc( n_value * sizeof( int ) );
	if( array = NULL ){
		printf( "Can't get memory for that many values.\n" );
		exit( EXIT_FAILURE );
	}
	//读取这些值。
	for( i = 0; i < n_value; i++ ){
		if( scanf( "%d", array + i ) != 1 ){
			printf( "Error reading value #%d\n", i );
			free( array );
			exit( EXIT_FAILURE );
		}
	}

	//对这些值排序。
	qsort( array, n_value, sizeof( int ), compare_integers );

	//打印这些值。
	for( i = 0; i < n_value; i++ )
		printf( "%d\n", array[i] );

	//释放内存并推出。
	free( array );
	return EXIT_SUCCESS;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?