<html><body>Předpokládám že K_EE_SPOJENI je míněna adresa konstanty v eeprom, a kód měl vypadat takto:<br><br>if (EE_Cti(K_EE_SPOJENI) == 1) {<br>&nbsp;&nbsp;&nbsp; Spust_neco()<br>}<br><br>Kód měl přečíst honotu na adrese K_EE_SPOJENI a pokud byla hodnota v eeprom == 1, pak mělo být "něco" spuštěno. <br><br>Po šotku který přemístil závorku se kód bude chovat tak, že bue fungovat správně jen za předpokladu, že K_EE_SPOJENI bude odpovídat adrese 1. Po přemístění na jinou adresu bude číst vždy z adresy eeprom 0.<br><br>C# je striktně typový jazyk, takže by to vyhodilo chybu (u08 není bool, který očekává if)<br>Pascal je též striktní a vyžaduje komparaci takže též selže.<br>C uvažuje TRUE = 1, FALSE = 0, takže to projde bez mrknutí oka výšeuvedeným způsobem :-)<br><br>Mimochodem na psaní kódu existují konvence (style check), a dát volání funkce dovnitř IFu je prakticky ve všech konvencích co znám přísně zakázáno. (Právě z důvodu odhalování takovýchto zákeřných chyb).<br><br>S pozdravem,<br><br>&nbsp;Franta Burian<br><br><p>---------- Původní zpráva ----------<br>Od: Michal Gregor &lt;a2x1nptda8@email.cz&gt;<br>Datum: 2. 10. 2013<br>Předmět: Kde je chyba - program v C</p><br><blockquote>Kde je chyba v nasledujicim radku?<br><br>if (EE_Cti(K_EE_SPOJENI == 1)) {<br><br>    Spust_neco()<br>}<br><br><br>Funkce vypada zhruba takto:<br>u08 EE_Cti(u08 Adresa) {<br><br>    return EEPROM(Adresa);<br>}<br><br>Zajimalo by mne jak se tato chyba projevi v jinych jazycich treba C#, Java, <br>Paskal. Bude kompilator hlasit chybu?<br><br><br>Michal<br><br>_______________________________________________<br>HW-list mailing list  -  sponsored by www.HW.cz<br>Hw-list@list.hw.cz<br>http://list.hw.cz/mailman/listinfo/hw-list</blockquote></body></html>