コード例 #1
0
pad_common(Extsym *c)
#endif
{
	register chainp cvl;
	register Namep v;
	long L = c->maxleng;
	int type;
	struct Dimblock *t;
	int szshort = typesize[TYSHORT];

	for(cvl = c->allextp; cvl; cvl = cvl->nextp)
		if (commlen((chainp)cvl->datap) >= L)
			return;
	v = ALLOC(Nameblock);
	v->vtype = type = L % szshort ? TYCHAR
				      : type_choice[L/szshort % 4];
	v->vstg = STGCOMMON;
	v->vclass = CLVAR;
	v->tag = TNAME;
	v->vdim = t = ALLOC(Dimblock);
	t->ndim = 1;
	t->dims[0].dimsize = ICON(L / typesize[type]);
	v->fvarname = v->cvarname = "eqv_pad";
	if (type == TYCHAR)
		v->vleng = ICON(1);
	c->allextp = mkchain((char *)mkchain((char *)v, CHNULL), c->allextp);
	}
コード例 #2
0
int main() {
    char C[MAX_LEN], *A[MAX_LEN];
    char ch;
    unsigned i, maxi, len, max_len = 0, n = 0;

    // input
    while ((ch = getchar()) != EOF) {
        A[n] = &C[n];
        C[n++] = ch;
    }
    A[n] = &C[n];
    C[n] = '\0';

    // sort
    qsort(A, n, sizeof(char *), pstrcmp);

    // max len
    for (i = 0; i < n; i++) {
        len = commlen(A[i], A[i + 1]);
        if (len > max_len) {
            max_len = len;
            maxi = i;
        }
    }

    printf("%.*s\n", max_len, A[maxi]);

    return 0;
}