gcc - vyhodnoceni podminek

Robert Heryan rheryan na cominfo.cz
Úterý Listopad 3 14:16:01 CET 1998


Zdravim!
V uvedenem prikladu byla chyba v 
  printf("Err\n", *param[1]);
jak ostatne uvedli BranoZ a Jacek Kopecky. Ta se tam dostala pri
modifikaci
prikladu. Ma chyba. Cely problem lezel jinde. Puvodni podminka totiz
vypadala
asi takto:
 if(count > 1 && *param[1] == 'a' || *param[1] == 'h'){
ovsem, ze autor (ne ja) udelal chybu; mela vypadat:
 if(count > 1 && (*param[1] == 'a' || *param[1] == 'h')){
coz jsem ja prehledl (ma chyba) a zkousel se to svalit na gcc.
Samozrejme zcela neopravnene. Jeste mala perlicka. Tato chyba se
neprojevila 
po kompilacich na systemech tak zvucnych jmen jako je AIX, HP-UX, SCO a
mozna i
dalsi.

Jeste bych se chtel zeptat pana Pavla Kankovskeho, jak se citi po svem
vyroku.
Ne, ze bych byl zrovna prebornik v programovani, ale par takovych
podminek jsem
uz napsal. Treba si to taky nekdy zkusi?!


Robert Heryan wrote:
> 
> Zdravim!
> 
> Nemohl by nekdo poradit?
> 
> Mam programek:
> 
> include <stdio.h>
> main(int count, char *param[]){
>   if(count > 1 && *param[1] == 'a'){
>     printf("OK\n");
>   }
>   else{
>     printf("Err\n", *param[1]);
>   }
> }
> 
> No a pri vyhodnoceni podminky to udela core. (Samozrejmen, kdyz to
> pustim bez
> parametru). Nejspise to bude nastavenim gcc, ale v manu jsem nic
> nenasel.
> Diky.
> 
--
Robert Heryan
Cominfo a.s.
Linux server Red Hat 5.0
rheryan na cominfo.cz


Další informace o konferenci Linux