[C] не компилица программа

Paradox

$ gcc gvivod.c
gvivod.c: In function `main':
gvivod.c:8: warning: passing arg 2 of `index' makes integer from pointer without a cast
gvivod.c: In function `index':
gvivod.c:30: error: parse error before ';' token
gvivod.c:30: error: parse error before ')' token

#include <stdio.h>
#define maxline 1000
//#define wrd "the"
main
{ /* find all lines matching a pattern */
char line[maxline], wrd;
while (getline(line, maxline) > 0)
if (index(line, "the") >= 0)
printf("%s", line);
}

getline(s, lim) /* get line into s, return length */
char s[];
int lim;
{
int c, i;
i = 0;
while (--lim > 0 && (c = getchar !=EOF&& c != '\n')
s[i++] = c;
if (c == '\n') s[i++] = c; s[i] = '\0';
return (i);
}

index(s, t) /* return index of t in s,-1 if none */
char s[], t[];
{
int i, j, k;
for (i = 0; s[i] != '\0'; i++)
{
for (j = i, k = 0; t[k] != '\0'&&s[j] == t[k]; j++; k++);
if (t[k] == '\0')
return (i);
}
return (-1);
}

glebius: учимся обрамлять код в тэг code

Serega009

for (j = i, k = 0; t[k] != '\0'&&s[j] == t[k]; j++; k++);
Кажется, после j++ надо поставить запятую, а не точку с запятой.

Paradox

опаньки ща проверю //////////////njxyj

rosali

вообще не плохо бы к index-у и getline-у прототипы написать... для красоты.

Paradox

например?

rosali

  

#include <stdio.h>
#define maxline 1000

getline(char s[], int lim); /* get line into s, return length */
index(char s[], char t[]); /* return index of t in s,-1 if none */

main
{ /* find all lines matching a pattern */
...

Paradox

мне и без них хорошо лишь бы строчки нашел

rosali

Да, очень хорошо...

gvivod.c: In function `main':
gvivod.c:8: warning: passing arg 2 of `index' makes integer from pointer without a cast
gvivod.c: In function `index':

ppplva

фигасе warning
Оставить комментарий
Имя или ник:
Комментарий: