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

📄 align_equals.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
#ifndef lint#ifdef sccsstatic  char sccsid[] = "@(#)align_equals.c 1.1 92/07/30";#endif#endif/* * Copyright (c) 1986 by Sun Microsystems, Inc. *//* last edited on January 30, 1985, 14:50:47 */#include <stdio.h>#include <sunwindow/sun.h>#include <sunwindow/string_utils.h>#ifdef STANDALONE#define EXIT(n)		exit(n)#else#define EXIT(n)		return(n)#endif/*ARGSUSED*/#ifdef STANDALONEmain(argc, argv)#elseint align_equals_main(argc, argv)#endif STANDALONE	int             argc;	char           *argv[];{	char            s[256], *a[30], c;	int             maxpos, padding, i, j, k, m;	maxpos = 0;	for (i = 0; i < 30; i++) {		if (!gets(s))			break;		a[i] = strdup(s);		maxpos = MAX(string_find(s, "=",True), maxpos);		/* string_find returns -1 if no = in s */	}	for (j = 0; j < i; j++) {		m = string_find(a[j], "=", True);		if (m == -1) {			puts(a[j]);			continue;		}		padding = maxpos - m;		FOREVER {			switch (a[j][m - 1]) {			    case '+':			    case '-':			    case '*':			    case '/':			    case '%':			    case '>':			    case '<':			    case '&':			    case '^':			    case '!':				m--;				/*				 * e.g. if +=, align = sign, so need to write				 * the blanks before the + 				 */				continue;			}			break;		}		c = a[j][m];		a[j][m] = '\0';		fputs(a[j], stdout);		/*		 * write everything up to the ='s use fputs so no newline		 * printed 		 */		for (k = 0; k < padding; k++)			putchar(' ');	/* write enough blanks */		putchar(c);	/* write the equals */		puts(a[j] + m + 1);	/* the rest of the characters */	}		EXIT(0);}

⌨️ 快捷键说明

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