2016-04-12 10 views
-3

çıkmak için nasıl. Herhangi biri başarısız olursa, sonraki işlevleri çağırmak istemiyorum, sadece bir hata bildirimi yazdırın ve çıkın.c fonksiyonu hata verir - Benim <code>main</code> başarı için <code>return 0</code> ve başarısızlık için <code>return -1</code> ki 4 işlevleri çağırmak programı

Bunu nasıl uygulayabilir?

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

Eğer// işlevini bilmiyorsanız, dış işlevleri nasıl yazabilirsiniz? –

+0

Ben, Sen boolean olarak bir durum kodu davranıyorlar – KevinDTimm

cevap

1

Bu dönecektir

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

-1 bir işlev sıfırdan farklı

Edit döndüğünde fonksiyonların her biri için bir eğer deyimi çalıştırmak gerekir: üzgün, içmemem lazım t üzerinde 'fakirler' koyduk orada

+0

' de programlamayı anlamıyor çünkü konu dışı olarak bu soruyu kapatmak için oylama yapıyorum anlaşılması zor bir kod. 'if (deviceSync()! = 0) {...}' çok daha açık olurdu. – timrau

+2

yanlış cevap! OP tüm – 4386427

+0

... deviceSync() 'gerçekten başarı – indiv

1

böyle bir şey ifade ediyor mu?

#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; 
} 
+0

Sözleşmeyle, bir C programı, başarısız olduğunda "EXIT_FAILURE" öntanımlı değerlerini ve "EXIT_SUCCESS" başarılarını döndürür. – alk

+0

Ancak 1 şimdiye kadar sadece cevap olma özellikleri yapışmasını için, o -1' 'karşı fonksiyonlarını test olduğunu! – alk

+0

@alk Haklısınız, güncellensiniz (umarız doğru şekilde). Teşekkürler. –

İlgili konular