我在main
中调用4个函数,return 0
表示成功,return -1
表示失败。如果其中任何一个失败,我不想调用下一个函数,只需打印错误语句并退出。
我怎么能实现这个?
int main(void)
{
deviceSync();
deviceInit();
devicesettings();
devicetakemeasurement();
}
答案 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;
}