Liste des Groupes | Revenir à cl c |
On 03/11/2024 00:26, fir wrote:depend on what some understoods by clearer - imo notBart wrote:>...>
as to this switch as i said the C jas some syntax that resembles
switch and it is
>
[2] { printf("one"), printf("two"), printf("three") }
>
i mean it is like this compound sometheng you posted
>
{ printf("one"), printf("two"), printf("three") } [2]
>
but with "key" on the left to ilustrate the analogy to
>
swich(n) {case 0: printf("one"); case 1: printf("two"); case 2:
rintf("three") }
>
imo the resemblance gives to think
>
the difference is this compound (array-like) example dont uses defined
keys so it semms some should be added
>
[n] {{1: printf("one")},{2: printf("two")},{3: printf("three")} }
>
so those deduction on switch gives the above imo
>
the question is if some things couldnt be ommitted for simplicity
>
[key] {'A': printf("one"); 'B': printf("two"); 'C': printf("three"}; }
>something like that>
>
(insted of
>
switch(key)
{
case 'A': printf("one"); break;
case 'B': printf("two"); break;
case 'C': printf("three"}; break;
}
>
Here the switch looks clearer. Write it with 300 cases instead of 3,
then that becomes obvious.
>
The first time I wrote a big C program, I used a syntax like this:
>
switch (x)
when 'A', 'B' then printf("one")
when 'C' then printf("two")
else printf("three")
endsw
>
This needed to be converted to normal C before compiling, but the macro
system wasn't quite up to the job (making using gnu C which allows for
lists of case labels).
>
Instead I used a script to do the conversion, which needed 1:1 line
correspondence. The result was something like this:
>
switch (x) {
break; case 'A': case 'B': printf("one");
break; case 'C': printf("two");
break; default: printf("three");
}
>
>
Les messages affichés proviennent d'usenet.