Re: Chyba v C - velmi podivné chování

Turbyho turbyho na gmail.com
Úterý Duben 21 14:38:52 CEST 2020


napsat co nejmene pismenek jeste neznamena napsat efektivnejsi kod. o prehlednosti ani nemluve. nekdy me fascinuje jak nekteri jedinci dokazi, za vydatne pomoci vlastni sebestrednosti, komplikovat zivot sobe a/nebo ostatnim 😁

docela by me zajimalo kde se tahle manie bere. to jako cim mene pismenek tim vice adidas? nebo co vas k tomu vlastne vede?

t



> 21. 4. 2020 v 11:53, Pavel Hudecek <edizon na seznam.cz>:
> 
> 
> Otázka tedy zní, jak ho upravit, aby prošel a přibylo co nejméně písmenek:-)
>  
> PH
>  
> Od: as5sgm na gmail.com
> >>> If ((a<2)+(a>b)+(x<y)+(a%x==12)+(b<y) > 3) {
> 
> Tento riadok kodu by nepresiel review a ani MISRA rules, vsade kde su aspon dvaja vyvojari :)
> 
> Miro
> 
>  
> 
> On 21. 4. 2020 10:37, Pavel Hudecek wrote:
> Vzhledem ke komutativnosti sčítání by pořadí mělo bejt irelevantní, kromě toho posledního >, ale to má nižší prioritu než +, takže se musí vyhodnotit jako poslední.
>  
> No a že to nebude fungovat v jiných jazycích? To je snad normální. Nebo všechny mají ++, printf, pointery jako Delphi, nepotřebují deklarovat proměnné jako VB6, … ?
>  
> Příkazů je tam 0, takže omezení na max. jeden na řádek to taky nepřekračuje.
>  
> PH
>  
> Od: Michal Gregor
> Spravne se maji slozite podminky prevest do funkci. Plati zasada jeden
> radek jeden prikaz. A nespolehat se na interni "tajne" funkce
> compilatoru. Co kdyz to nekdo skopiruje do C++? Nebo do uplne jineho jazyja.
>  
>  
> Dne 21.04.2020 v 8:46 Jan Waclawek napsal(a):
> > A nemohlo to byt skor o tom, ze v takychto vyrazoch
> >
> >>> If ((a<2)+(a>b)+(x<y)+(a%x==12)+(b<y) > 3) {
> >
> > nie je zarucene poradie vyhodnotenia pod-vyrazov, aj keby mali vedlajsie
> > efekty?
> >
> > wek
> >
> >
> > ----- Original Message ---------------
> >> Sa vam dvom do toho zamontujem, som nieco nasiel vo svojom archive, ale
> >> Ty si mimo podozreni :)
> >> Skor si ja pofajcim, ze uz kedy som daval do placu citat z normy, ktory
> >> si teraz dal aj Ty :-D
> >> 
> >> https://list.hw.cz/pipermail/hw-list/2011-July/399004.html
> >> 
> >> miro
> >> 
> >> On 21.4.2020 1:17, Jan Waclawek wrote:
> >>> Hm, tak ja vidim vyhody skor v tych 6 ifoch a 1 pomocnej premennej...
> >>> 
> >>> Ale ak by si nahodou nasiel odkaz, kde ten JW z minulosti povedal, ze
> >>> vysledkom podmienky nemusi byt 0 alebo 1, tak by som Ti bol vdacny.
> >>> 
> >>> wek
> >>> 
> >>> 
> >>> ----- Original Message ---------------
> >>> Tak?e se po pár misících mu?u vrátit k tomu, ?e jedna z výhod C je mo?nost
> >>> dilat vici, jako:
> >>> 
> >>> If ((a<2)+(a>b)+(x<y)+(a%x==12)+(b<y)>  3) {
> >>> 
> >>> Co? v jiných jazycích vede na 6 ifu a 1 pomocnou prominnou.
> >>> 
> >>> PH
> >>> 
> >>> Od: Jan Waclawek
> >>> 
> >>> Hm, tak potom by som mal asi tomu JW z minulosti jednu tresnut...
> >>> 
> >>> Konkretne teda, C99, 6.5.8 Relational operators #6:
> >>> Each of the operators<  (less than),>  (greater than),<= (less than or
> >>> equal to), and>=
> >>> (greater than or equal to) shall yield 1 if the specified relation is true
> >>> and 0 if it is false. 92)
> >>> The result has type int.
> >>> 
> >>> Ten footnote 92) je kuzelny:
> >>>    The expression a<b<c is not interpreted as in ordinary mathematics. As the
> >>> syntax indicates, it
> >>> means (a<b)<c; in other words, ??if a is less than b, compare 1 to c;
> >>> otherwise, compare 0 to c??.
> >>> 
> >>> wek
> >>> 
> >>> 
> >>> ----- Original Message ---------------
> >>> 
> >>> Mil jsem nijak za to, ?e to byl právi jistý JW, kdo mi tu onehdá vyeetl, ?e
> >>> spoléhat se, ?e výsledkem podmínky je 0 nebo 1 není správné:-)
> >>> 
> >>> PH
> >>> 
> >>> Od: Jan Waclawek
> >>> 
> >>>> A jinak teda ten kód udilá to, ?e pokud je splnina podmínka v závorce, nastaví se bit 0 na výstupní (zda to bude bit 0 není zarueeno, ale jinak skoro jisté).
> >>> 
> >>> Preco by to nemal byt bit 0?
> >>> 
> >>> _______________________________________________
> >>> 
> >>>>> 
> >>>>>     DDRB |=(1<CLK_UP);
>  
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20200421/a2725c68/attachment.html>


Další informace o konferenci Hw-list