c函数返回错误 - 如何退出程序

时间:2016-04-12 16:20:41

标签: c return

我在main中调用4个函数,return 0表示成功,return -1表示失败。如果其中任何一个失败,我不想调用下一个函数,只需打印错误语句并退出。

我怎么能实现这个?

int main(void)
{
deviceSync();
deviceInit();
devicesettings();
devicetakemeasurement();
}

2 个答案:

答案 0 :(得分:1)

您需要为每个函数

运行if语句
int main(void)
{
    if(deviceSync())return -1;
    if(deviceInit())return -1;
    //...
}

当函数返回非零

时,这将返回-1

编辑:对不起,我不应该把这些' nots'在那里

答案 1 :(得分:1)

你的意思是这样吗?

#define FAILURE -1

int main() {
    if ( FAILURE == deviceSync() ) {
        fputs("Device Sync failed\n",stderr);
        return EXIT_FAILURE;
    }
    if ( FAILURE == deviceInit() ) {
        fputs("Device Init failed\n",stderr);
        return EXIT_FAILURE;
    }
    if ( FAILURE == devicesettings() ) {
        fputs("Device setting failed\n",stderr);
        return EXIT_FAILURE;
    }
    if ( FAILURE == devicetakemeasurement() ) {
        fputs("Device take measurement failed\n",stderr);
        return EXIT_FAILURE;
    }

    return EXIT_SUCCESS;
}