getline_woandr#
getline_woandr.c
/* Program demonstrates the former getline forloop without && and ||.
Also demonstrates enum data type usage */
#include<stdio.h>
#define MAXLINE 1000
int getline(char line[],int maxline);
int main(void)
{
char line[MAXLINE];
getline(line,MAXLINE);
printf("%s",line);
return 0;
}
int getline(char s[],int lim)
{
int c,i;
enum values{NO=0,YES};
enum values proceed;
proceed= YES;
i =0;
while(proceed == YES)
{
if( i > lim - 1)
proceed = NO;
else if((c=getchar()) == EOF)
proceed = NO;
else if( c == '\n')
proceed = NO;
else
{
s[i] = c;
++i;
proceed = YES;
}
}
if ( c == '\n')
{
s[i] = c;
++i;
}
s[i] = '\0';
return i;
}