/* 
	Example: string comparison with pointers
	Source: K&R2, p106
	Modified by Peter Brusilovsky
	Objective: use of pointers in processing character arrays
*/

#include <stdio.h>
#define MAXLEN 100

int strcmp(char *, char *);
int getline(char *, int);

void main() {
	char a[MAXLEN], b[MAXLEN];
	int comp;
	
	getline(a, MAXLEN);
	getline(b, MAXLEN);
	comp = strcmp(a, b);
	
	if(comp > 0)
		printf("First line is greater than second\n"); 
	else if (comp < 0) 
		printf("First line is less than second\n"); 
	else printf("These lines are equal!\n");
}

/* strcmp: return <0 if s<t, 0 if s==t, >0 if s>t */
int strcmp(char *s, char *t)
{
	for( ; *s == *t; s++, t++)
	
		if(*s == '\0') 
			return 0;
	return *s - *t;		
}


/* getline: read a line into s,  return length */ 

int getline(char *s, int lim) 
{
	int c, i;

	for (i = 0; i < lim-1 &&(c=getchar())!= EOF && c != '\n'; ++i)
		s[i] = c;
	if (c == '\n') {
		s[i] = c;
		++i;
	}
	s[i] = '\0';
	return i;
}