运算符优先级

调试问题一:执行服务器成功后,一启动客户端,服务器就退出。

linux@linux:~/cbase/dic$ ./server 192.168.31.123 5001
open DATABASE success.
Server starting ... OK!
Connect success!
client exit.

解决:
问题所在:server.c
while(1)
{
if(acceptfd = accept(sockfd, NULL, NULL) < 0)
{
......
}
}

if语句缺少括号,关系运算符的优先级大于赋值运算符,先执行右边,不符合条件就退出了,造成新生成的acceptfd没有赋值成功。do_client函数也不会执行成功。导致客户端无法与服务器连接成功。