Kde je chyba - program v C

Michal Gregor a2x1nptda8 na email.cz
Středa Říjen 2 13:49:27 CEST 2013


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

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list 



Další informace o konferenci Hw-list