⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssort.c

📁 unix环境下实现的cmm语言编译器
💻 C
字号:
/*ssort.c: 对文本行进行排序*/int puts(char *s);int printf(char *fmt, char *s);char *strcpy(char *p, char *line);char *malloc(int len);int strcmp(char *s, char *d);void qsort(void *lineptr[], int left, int right,			int (*comp)(void *, void*));char *lineptr[5000];int readlines(char *lineptr[], int nlines);void writelines(char *lineptr[], int nlines);int getline(char *buf, int len);int main(void){	int nlines;	if ((nlines = readlines(lineptr, sizeof lineptr)) >= 0) {		qsort((void **)lineptr, 0, nlines - 1, (int (*)(void*,void*))strcmp);		writelines(lineptr, nlines);		return 0;	} else {		puts("error: input too big to sort\n");		return 1;	}}/*readlines:读取输入行*/int readlines(char *lineptr[], int maxlines){	int len, nlines;	char *p, line[1000];	nlines = 0;	while ((len = getline(line, sizeof line)) > 0) {		if (nlines >= maxlines)			return -1;		if ((p = malloc(len)) == (void *)0)			return -1;		line[len-1] = 0;		strcpy(p, line);		lineptr[nlines] = p;		nlines = nlines + 1;	}	return nlines;}/*writelines:写输出行*/void writelines(char *lineptr[], int nlines){	int i = 0;	while (i < nlines) {		printf("%s\n", lineptr[i]);		i = i + 1;	}}

⌨️ 快捷键说明

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