Kde je chyba - program v C
Tomáš Hamouz
hamouz na divesoft.cz
Středa Říjen 2 13:55:18 CEST 2013
Musite na C nahlizet jako na trochu komfortnejsi assembler.
Rozhodne ho nepovazovat za vyssi jazyk.
Tomas
> No, kupodivu Visual Basic chybu nehlasi. Mel jsem o nem lepsi mineni.
> Tvurci prog. jazyku jsou prilis benevolentni. Kolik bylo zbytecne ztraceno
> pracovnich hodin za ty roky po celem svete?
> Michal Gregor
> ----- Original Message -----
> From: "Jan Waclawek" <konfera na efton.sk>
> To: "HW-news" <hw-list na list.hw.cz>
> Sent: Wednesday, October 02, 2013 1:30 PM
> Subject: Re: Kde je chyba - program v C
>>Kde je chyba v nasledujicim radku?
>>
>>if (EE_Cti(K_EE_SPOJENI == 1)) {
>>
>> Spust_neco()
>>}
> To su 4 riadky... ;-)
> A nie je tam ziadna syntakticka chyba - EE_Cti sa zavola s parametrom 1, ak
> K_EE_SPOJENI ma hodnotu 1; inak s parametrom 0.
>>Zajimalo by mne jak se tato chyba projevi v jinych jazycich treba C#, Java,
>>Paskal. Bude kompilator hlasit chybu?
> Pascal je prisne typovany jazyk a nedaju sa len tak mirnix-dirnix zamienat
> celociselne a booleanovske typy, takze by musela byt funkcia EE_Cti
> deklarovana s parametrom typu boolean; rovnako funkcia EE_Cti by musela
> mat navratovu hodnotu typu boolean; inak je to syntakticka chyba.
> Napriklad:
> var
> K_EE_SPOJENI: byte;
> procedure Spust_neco;
> begin
> end;
> function EE_Cti(i: byte) : byte;
> begin
> EE_Cti := i;
> end;
> begin
> K_EE_SPOJENI := 123;
> if (EE_Cti(K_EE_SPOJENI = 1)) then begin
> Spust_neco;
> end;
> end.
>> "c:\lazarus\fpc\2.2.4\bin\i386-win32\fpc.exe" "C:\tmp\a.pas"
> Free Pascal Compiler version 2.2.4 [2009/10/25] for i386
> Copyright (c) 1993-2008 by Florian Klaempfl
> Target OS: Win32 for i386
> Compiling C:\tmp\a.pas
> a.pas(16,30) Error: Incompatible type for arg no. 1: Got "Boolean",
> expected "Byte"
> a.pas(20) Fatal: There were 1 errors compiling module, stopping
> Fatal: Compilation aborted
> Error: c:\lazarus\fpc\2.2.4\bin\i386-win32\ppc386.exe returned an error
> exitcode (normal if you did not specify a source file to be compiled)
> wek
Další informace o konferenci Hw-list