| Deutsch English Français Italiano |
|
<6723944E.2040305@grunge.pl> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder2.eternal-september.org!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: fir <fir@grunge.pl>
Newsgroups: comp.lang.c
Subject: Re: else ladders practice
Date: Thu, 31 Oct 2024 15:29:34 +0100
Organization: i2pn2 (i2pn.org)
Message-ID: <6723944E.2040305@grunge.pl>
References: <3deb64c5b0ee344acd9fbaea1002baf7302c1e8f@i2pn2.org> <slrnvi746p.fkp.dan@djph.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: i2pn2.org;
logging-data="308497"; mail-complaints-to="usenet@i2pn2.org";
posting-account="+ydHcGjgSeBt3Wz3WTfKefUptpAWaXduqfw5xdfsuS0";
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:27.0) Gecko/20100101 Firefox/27.0 SeaMonkey/2.24
To: Dan Purgert <dan@djph.net>
In-Reply-To: <slrnvi746p.fkp.dan@djph.net>
X-Spam-Checker-Version: SpamAssassin 4.0.0
Bytes: 3115
Lines: 70
Dan Purgert wrote:
> On 2024-10-31, fir wrote:
>> somethins i got such pices of code like
>>
>> if(n==1) {/*something/}
>> if(n==2) {/*something/}
>> if(n==3) {/*something/}
>> if(n==4) {/*something/}
>> if(n==5) {/*something/}
>>
>> technically i would need to add elses - but the question is if to do that
>>
>> do teh code has really chance to be slower without else (except some
>> very prmitive compilers) ??
>
> In the above, all conditionals are always checked -- that is the truth
> of a previous conditional statement has no bearing on subsequent tests.
> This leads to the potential of tests going off in directions you hadn't
> necessarily anticipated.
>
> However, 'if..elseif..else' will only check subsequent conditionals if
> the prior statements were false. So for the case that "n=2", you're
> only ever testing the two cases "if (n==1)" (which is false) and
> "elseif(n==2)". The computer just skips to the end of the set of
> statements.
>
>
> Given this MWE (my own terrible code aside ;) ):
>
> int main(){
> int n=0;
> printf ("all if, n=%u\n",n);
> if (n==0) { printf ("n: %u\n",n); n++;}
> if (n==1) { printf ("n: %u\n",n); n++;}
> if (n==2) { printf ("n: %u\n",n); n++;}
> if (n==3) { printf ("n: %u\n",n); n++;}
> if (n==4) { printf ("n: %u\n",n); n++;}
> printf ("all if completed, n=%u\n",n);
>
> n=3;
> printf ("with else if, n=%u\n",n);
> if (n==0) { printf ("n: %u\n",n); n++;}
> else if (n==1) { printf ("n: %u\n",n); n++;}
> else if (n==2) { printf ("n: %u\n",n); n++;}
> else if (n==3) { printf ("n: %u\n",n); n++;}
> else { printf ("n: %u\n",n); n++;}
> printf ("with else if completed, n=%u\n",n);
> }
>
>
> You'll get the output:
>
> all if, n=0
> n: 0
> n: 1
> n: 2
> n: 3
> n: 4
> all if completed, n=5
> with else if, n=3
> n: 3
> with else if completed, n=4
>
> HTH :)
>
i not modify n in those {} blocks so this example is not much relevant
my quiestion is more liek what is a metter of beter style
from my youth i roughly always added those elses notw i consider not to
write them