运行出错Syntax error: "(" unexpected linux系统 开发工具anjuta
linux系统 开发工具为anjuta
编译通过 但运行老是提示出错
/home/ghgccool/桌面/expe1/expe1_1.c: 3: Syntax error: "(" unexpected
----------------------------------------------
Program exited successfully with errcode (2)
Press the Enter key to close this terminal ...
下面是程序
#include <stdio.h>
int main(){
int i, r, p1, p2, fd[2];
char buf[50], s[50];
pipe(fd);
while ((p1=fork())==-1);
if (p1==0)
{ lockf(fd[1], 1, 0);
sprintf(buf, "Child process P1 is sending messages! \n");
printf("Child process P1! \n");
write(fd[1], buf, 50);
sleep(5);
lockf(fd[1],0,0);
exit(0);
}
else
{ while ((p2=fork())==-1);
if (p2==0)
{ lockf(fd[1], 1, 0);
sprintf(buf, "Child process P2 is sending messages! \n");
printf("Child process P2! \n");
write(fd[1], buf, 50);
sleep(5);
lockf(fd[1], 0, 0);
exit(0);
}
wait(0);
if ((r=read(fd[0], s, 50))== -1) printf("cannot read pipe! \n");
else printf("%s", s);
wait(0);
if ((r=read(fd[0], s, 50))== -1) printf("cannot read pipe! \n");
else printf("%s", s);
exit(0);
}
}
------解决方案--------------------
我用gcc编译运行没问题,只是多了隐士声明,gcc选取默认值。
syntax.c:25:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
syntax.c:47:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
syntax.c:63:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
加头文件试试
#include <stdlib.h>