我正在阅读有关IPC:Message Queue的页面,当我遇到以下代码段时。
#include <sys/ipc.h>;
#include <sys/msg.h>;
...
key_t key; /* key to be passed to msgget() */
int msgflg /* msgflg to be passed to msgget() */
int msqid; /* return value from msgget() */
...
key = ...
msgflg = ...
if ((msqid = msgget(key, msgflg)) == –1) //*****Semicolon inside IF*****
{
perror("msgget: msgget failed");
exit(1);
} else
(void) fprintf(stderr, “msgget succeeded");
...
上面的代码说明了msgget()函数。无论如何,在上面的代码中,语句允许使用If语句中的分号?它有什么意义吗?
答案 0 :(得分:4)
这些是HTML特殊字符,它们不是C ++的一部分 这是换位错误 代码应为:
if ((msqid = msgget(key, msgflg)) == -1)
{
perror("msgget: msgget failed");
exit(1);
} else
(void) fprintf(stderr, "msgget succeeded");