当前位置: 技术问答>linux和unix
运行出错Syntax error: "(" unexpected linux系统 开发工具anjuta
来源: 互联网 发布时间:2017-02-21
本文导语: linux系统 开发工具为anjuta 编译通过 但运行老是提示出错 /home/ghgccool/桌面/expe1/expe1_1.c: 3: Syntax error: "(" unexpected ---------------------------------------------- Program exited successfully with errcode (2) Press the Enter key to clo...
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
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);
}
}
编译通过 但运行老是提示出错
/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
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
syntax.c:25:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
syntax.c:47:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
syntax.c:63:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
加头文件试试
#include