HDTenEightyP/NetNews huggingface dataset:
From: wd@pcsbst.pcs.com (wd)
Newsgroups: de.comp.lang.c
Subject: Re: Statuswechsel im switch
Keywords: switch, c
Date: 23 Jul 92 08:26:55 GMT
Organization: PCS Computer Systeme GmbH

sz@Materna.DE (Stefan Zimmermann) writes:
>	Was passiert hierbei?:
>	0:	for (was auch immer)
>	0a:	{
>	1:		switch (status)
>	2:		{
>	3:		case DEFAULT:	
>	4:			printf("DEFAULT");
>	5:			status = STATUS1;
>	6:			break;
>	7:		case STATUS1:
>	8:			printf("STATUS1");
>	9:			status = DEFAULT;
>	10:			break;
>		    :
>		    :
>	11:		}
>	12:	}

>Ich wuerde mir wuenschen, dass die Zuweisung in Zeile 5 zur Folge hat, dass
>der Zweig fuer den Fall STATUS1 auch noch durchlaufen wird. Die Zuweisung 

Wird er nicht. Es wird genau zu einem case-Label  verzweigt,  und
von  da  an  weitergemacht.  Ob  dabei  noch  andere  "cases" mit
druchlaufen werden, haengt davon ab, ob und wo "breaks" stehen. 

>in Zeile 9 allerdings erst beim naechsten Schleifendurchlauf Auswirkungen
>hat. Ist dem so und ist dies dann immer so ??

Hm - was meinst Du?

Koennte es sein, dass Du

	...
	switch (status) {
	case DEFAULT:
		printf("DEFAULT");
		status = STATUS1;
		/* fall through */
	case STATUS1:
		printf("STATUS1");
		status = DEFAULT;
		break;
	...
	}
	...

haben willst?

Wolfgang

==================================================================
Name    : Wolfgang Denk                         (+49)-89-68004-288
Company : PCS GmbH, Pfaelzer-Wald-Str. 36,  8000 Munich,  Germany.
UUCP    : ..[pyramid ;uunet!unido]!pcsbst!wd  (PYRAMID PREFERRED!!)
DOMAIN  : wd@pcsbst.pcs.[ COM From rest of world; DE From Europe ]
###################################################################
#  "UNIX was not designed to stop you from doing stupid things,   #
#   because that would  also stop you from doing clever things."  #
#   -- Doug Gwyn                                                  #
###################################################################
Newsgroups: de.comp.lang.c
From: dank@blacks.jpl.nasa.gov (Dan Kegel)
Subject: Re: v*printf
Organization: Image Analysis Systems Group, JPL
Date: Fri, 24 Jul 1992 00:00:16 GMT

gm@germal.bs.open.de (Gerald Malitz) writes:
>	Kurz und schmerzlos: sind vprintf, vfprintf und vsprintf
>Teil des ANSI-Standards?
Ja.

>	Manche stdio-Implementationen bieten auch noch eine
>vierte Funktion, die als erstes Argument einen Pointer auf
>eine Funktion bekommt.  Diese Funktion wird fuer jedes
>auszugebende Zeichen aufgerufen.  Ist die Standard oder
>wenigstens verbreitet?
"Functional stdio" ist kein Standard, aber wenigstens bietet sie GNU's glibc.
Here's part of stdio.h from GNU's glibc-1.02.

/* Low level interface, independent of FILE representation.  */
typedef struct
  {
    __io_read *__read;		/* Read bytes.  */
    __io_write *__write;	/* Write bytes.  */
    __io_seek *__seek;		/* Seek/tell file position.  */
    __io_close *__close;	/* Close file.  */
  } __io_functions;

...

#ifdef	__USE_GNU
/* Create a new stream that refers to the given magic cookie,
   and uses the given functions for input and output.  */
extern FILE *EXFUN(fopencookie, (PTR __magic_cookie, CONST char *__modes,
				 __io_functions __io_functions));

/* Create a new stream that refers to a memory buffer.  */
extern FILE *EXFUN(fmemopen, (PTR __s, size_t __len, CONST char *__modes));

/* Open a stream that writes into a malloc'd buffer that is expanded as
   necessary.  *BUFLOC and *SIZELOC are updated with the buffer's location
   and the number of characters written on fflush or fclose.  */
extern FILE *EXFUN(open_memstream, (char **__bufloc, size_t *sizeloc));
#endif

...

#ifdef	__USE_GNU
/* Maximum chars of output to write in MAXLEN.  */
extern int EXFUN(snprintf, (char *__s, size_t __maxlen,
			    CONST char *__format, ...));

extern int EXFUN(vsnprintf, (char *__s, size_t __maxlen,
			     CONST char *__format, PTR __arg));

/* Write formatted output to a string dynamically allocated with `malloc'.
   Store the address of the string in *PTR.  */
extern int EXFUN(vasprintf, (char **__ptr, CONST char *__f, PTR __arg));
extern int EXFUN(asprintf, (char **__ptr, CONST char *__fmt, ...));
From: udo@umunk.GUN.de (Udo Munk)
Newsgroups: de.comp.lang.c
Subject: Re: Statuswechsel im switch
Date: 27 Jul 92 19:10:57 GMT
Organization: umunk (private)
X-Newsreader: Tin 1.1 PL4

jlinz@krokus.han.de (Jochen Linz) writes:
: In <sz.711790137@materna>, Stefan Zimmermann writes:
: ]	Was passiert hierbei?:
: ]
: ]	0:	for (was auch immer)
: ]	0a:	{
: ]	1:		switch (status)
: ]	2:		{
: ]	3:		case DEFAULT:	
: ]	4:			printf("DEFAULT");
: ]	5:			status = STATUS1;
: ]	6:			break;
: ]	7:		case STATUS1:
: ]	8:			printf("STATUS1");
: ]	9:			status = DEFAULT;
: ]	10:			break;
: ]		    :
: ]		    :
: ]	11:		}
: ]	12:	}
: ]
[...]
:  
:  Hier sieht man auch, dass nachfolgende Bedingungen nicht mehr geprueft werden, wenn
:  eine Bedingung zutrifft... Du musst also switch() erneut aufrufen...

Oder nimm das break in Zeile 6 raus...
Wenn das da oben nicht ein stark vereinfachtes Problem ist, ueberlege
dir aber genau was du tust :-)
--
Udo Munk     | voice:      +49 2131 275348             | uucp: +49 2131 278869
Oberstr. 21  | mail :      udo@umunk.GUN.de            |      2400/1200/300 8N1
4040 Neuss 1 | ...!{mcshh,smurf,unido}!easix!umunk!udo | MYNAME=bbsuser
Fed. Rep. of | CompuServe: 100021,2515                 | login: uucp
Germany      | at first connect get ~/info  and ~/files| pwd:   public
From: chr@senga.ka.sub.org (Christian Riede)
Newsgroups: amiga.prog,amiga.general,de.comp.lang.c
Subject: Re: Help: Amiga C Timer-Device
Distribution: world
Organization: Private UUCP site
Date: Thu, 23 Jul 1992 17:34:14 GMT
FollowUp-To: amiga.prog

In article <udo.08s1@ubla.novalis.public.sub.org>, Udo Blatzheim writes:

> mein Problem:    ich  mchte  das  ein  C-prog.  fuer einen bestimmten
> Zeitraum in den Hintergrund verschwindet ohne bei diesem wait die CPU
> zu belasten.

Dumme Frage am Rande: Warum nicht mit Delay() aus der DOS-Library? 

Gruss, Christian

-- 
Christian Riede, Lange Strasse 88, D-W7500 Karlsruhe 51, Germany 
Tel. (+49) 721 {886091 | 608-4487 | 608-2749}  |   iso-8859-1:   
EMail: chr@senga.ka.sub.org, riede@ira.uka.de  |  ==aeoeuess 
Newsgroups: amiga.prog,amiga.general,de.comp.lang.c
From: zrawi01@indiaka.zdv.uni-tuebingen.de (J. Wiedmann)
Subject: Re: Help: Amiga C Timer-Device
Organization: Comp. Center (ZDV) U of Tuebingen, FRG
Date: Wed, 22 Jul 1992 10:17:33 GMT

In <udo.08s1@ubla.novalis.public.sub.org> udo@ubla.novalis.public.sub.org (Udo Blatzheim) writes:

>mein Problem:    ich  moechte  das  ein  C-prog.  fuer einen bestimmten
>Zeitraum in den Hintergrund verschwindet ohne bei diesem wait die CPU
>zu belasten. 

<Einiges geloescht>

>struct timerequest *TimeRequest=0L;

>   TimeRequest->tr_time.tv_secs=Secs;          Hier steigt er aus !!!???

Hallo, Udo,

ganz einfacher Fehler (mir und allen anderen schon zig-mal passiert): Du
darfst den Zeiger TimeRequest nicht verwenden ohne ihn zu initialisieren.
Das Beste ist, mit CreateExtIO() Speicher zu reservieren. (Noch besser:
Vorher mit CreatePort() auch tatsaechlich einen MessagePort erzeugen.)

Falls Du uebrigens laengere Zeit (will sagen: Einige fuenfzigstel-Sekunden)
warten willst, dann kannst Du das viel einfacher mit derAmigaDOS-Funktion
Delay() tun.

	Viel Glueck

		Jochen


-- 


------------------------------------------------------------------------------
Jochen Wiedmann			E-Mail: wiedmann@mailserv.zdv.uni-tuebingen.de
Wolkensteinstr. 14
7403 Ammerbuch-Poltringen	Bitte haben Sie Verstaendnis, falls Sie an
				einem Tag mehrere Briefe von mir bekommen.
Tel. 07073/4291			Ein Aussortieren von Hand waere weit teurer
				als die zusaetzlichen InterNet-Gebuehren.
--


------------------------------------------------------------------------------
Jochen Wiedmann			E-Mail: wiedmann@mailserv.zdv.uni-tuebingen.de
Newsgroups: de.comp.lang.c
From: bof@midget.saar.de (Patrick Schaaf)
Subject: Re: Statuswechsel im switch
Organization: Yoyodyne Programming Systems,  midget headquarters, Germany
Date: Thu, 23 Jul 1992 08:42:45 GMT
Keywords: switch, c

sz@Materna.DE (Stefan Zimmermann) writes:
>Hi ,

Selber Hi!

>nicht nur zur Belebung dieser Gruppe, folgende Frage:

>	Was passiert hierbei?:
>	0:	for (was auch immer)
Du bekommst 'nen Fehler wegen der Zeilennummern :-)

>	0a:	{
>	1:		switch (status)
>	2:		{
>	3:		case DEFAULT:	
>	4:			printf("DEFAULT");
>	5:			status = STATUS1;
>	6:			break;
>	7:		case STATUS1:
>	8:			printf("STATUS1");
>	9:			status = DEFAULT;
>	10:			break;
>	11:		}
>	12:	}

>Ich wuerde mir wuenschen, dass die Zuweisung in Zeile 5 zur Folge hat, dass
>der Zweig fuer den Fall STATUS1 auch noch durchlaufen wird. Die Zuweisung 
>in Zeile 9 allerdings erst beim naechsten Schleifendurchlauf Auswirkungen
>hat. Ist dem so und ist dies dann immer so ??

Lass in Zeile 6 das break weg. Break sagt dem switch, dass er aufhoeren soll,
fehlt es, faellt der Programmfluss in den darauffolgenden Case-Zweig durch.
Fuer Dein Beispiel reicht es also, Zeile 6 zu loeschen. Bei komplizierteren
Faellen koenntest Du evtl. mit goto rumhuepfen oder lieber drauf verzichten
und die relativ geringen Kosten des switch() wieder in Kauf nehmen.

Gruss
  Patrick



>	Thanxs
>		Stefan

>--
>Stefan Zimmermann	|	Tel: 0231/5599226	| Auch wenn die Welt
>Dr. Materna GmbH	|	Fax: 0231/5599100	| auseinanderfaellt,
>Vo"skuhle 37		|    Privat: 0231/556124	| egal, Hauptsache das
>4600 Dortmund 1		| e-mail: sz@elwoood.materna.de	| neue Auto ist bestellt
-- 
bof@midget.saar.de      /   \      I've just spent an hour in Your head.
Saarbruecken, De     .^/ -.- \      Believe me, I've been in nicer places.
Patrick Schaaf      / /       \        (kid eternity)
-                  this line intentionally blanked right                  -
From: jlinz@krokus.han.de (Jochen Linz)
Newsgroups: de.comp.lang.c
Subject: Re: Statuswechsel im switch
Date: 30 Jul 92 09:39:30 GMT
	<bsYpr*Pg0@forge.erh.sub.org>
Reply-To: jlinz@krokus.han.de
Organization: private site - Hannover/Germany
X-Software: HERMES GUS 1.03 Rev. Apr 14 1992

In <bsYpr*Pg0@forge.erh.sub.org>, Henning Schmiedehausen writes:
]In article <H.zoY3ZjQpXc_@krokus.han.de>, Jochen Linz writes:
]
]>  Die switch()-Anweisung wird wie eine if()-Anweisung behandelt :
]>
]>  if(status==DEFAULT)
]>  {
]>  }
]>  else
]>  {
]> 	if(status==STATUS1)
]> 	{
]> 	} 
]>  }
]>  
]>  Hier sieht man auch, dass nachfolgende Bedingungen nicht mehr geprueft werden, wenn
]>  eine Bedingung zutrifft... Du musst also switch() erneut aufrufen...
]
]Das stimmt nur, wenn Du brav 'break' Statements einfuegst.

 Stimmt, die Sache mit den fehlenden 'breaks' hatte ich nicht bedacht, aber das ist
 dann auch nicht mehr strukturiert darzustellen und eher ein `Hintertuerchen' in C.
 
]
]Diese Anweisung:
]
]	switch(foo)
]	{
]		case bar1: 
]		{
]			laber();
]			break;
]		}
]		case bar2:
]		{
]			fasel();
]		}
]		default:
]		{
]			bla();
]		}
]	}
]
]kannst Du kaum noch mit if's umschreiben... :)

 Stimmt auch, aber eigentlich sind 'breaks' ja auch nix anderes als 'gotos'
 ( igitt, ich weiss... :-), aber die Loesung mit 'gotos' spare ich mir,
 das ist ein ganz schoener Hack und als `Lehrbeispiel' sicher ungeeignet.
 
 Gruss,
 Jochen

-- 

|featuring the massive, epoch-making humungous pangalactic, really quite large|
:-)---------------------------- mega-signature : ---------------------------(-:
| Jochen Linz Henckellweg 7 W-3000 Hannover 91 Germany, Voice: +49 511 417407 |
From: krey@ira.uka.de (Andreas Krey)
Newsgroups: de.comp.lang.c
Subject: Re: Dumme Frage
Date: 31 Jul 1992 07:48:10 GMT
Organization: University of Karlsruhe, Comp. Sc. Dept., FRG
Distribution: world
NNTP-Posting-Host: i30s20.ira.uka.de

In article <977@watzman.quest.sub.org>, udo@slice.quest.sub.org (Udo Klimaschewski) writes:
|> Hallo!
|> 
|> Kann mir einer mal den Sinn erklaeren, warum das funkioniert:
|> 
|> void foo()
|> {
|> printf("foo\n");
|> }
|> 
|> main(argc,argv)
|> int	argc;
|> char	**argv;
|> {
|> foo;
|> }
|> 
|> compiliert auf SunOS 4.1 / SunOS 4.1.1 / DEC Risc Ultrix 4.2 / IBM AIX 3.1
|> 
|> Ich seh da keinen rechten Sinn dahinter ;-)
|> 
Ist auch kein Sinn hinter. Es ist einfach eine Konsequenz der
einfachen Grammatik von C, bei der auch Zuweisungen Ausdruecke sind.
Mithin kann, wo 'a=5' stehen kann, auch einfach '5' oder '"text"'
oder der Name einer Funktion stehen.

Manche Uebersetzer sagen freilich:
Warning: Name expression not used.

Wenn Du 'foo' statt 'foo()' schreibst, wird foo freilich nicht
aufgerufen, der Aufruf passiert erst mit den '()'.

|> Gruss
|> 	udo

ObC:

int_to_char(n) { return n["0123456789"]; }

-- 
Andreas

"Der Mensch ist gut, doch die Leut san boes." -- bayr. Redensart.

#include <disclaimer.h>
Newsgroups: de.comp.lang.c
From: flebbe@wega.tat.physik.uni-tuebingen.de (Olaf Flebbe)
Subject: Re: v*printf
Organization: TAT (Theoretical Astrophysics Tuebingen), U. of Tuebingen, FRG
Date: Thu, 23 Jul 1992 13:37:04 GMT

gm@germal.bs.open.de (Gerald Malitz) writes:


>	Kurz und schmerzlos: sind vprintf, vfprintf und vsprintf
>Teil des ANSI-Standards?
Ja: Unterpunkte 4.9.6.7-4.9.6.9 vom ANSI X3.159-1989

>	Manche stdio-Implementationen bieten auch noch eine
>vierte Funktion, die als erstes Argument einen Pointer auf
>eine Funktion bekommt.  Diese Funktion wird fuer jedes
>auszugebende Zeichen aufgerufen.  Ist die Standard oder
>wenigstens verbreitet?

Ich kenne so eine Funktion nicht, und sie ist mir nicht aufgefallen,
als ich einmal eine Bibliothek auf ANSI-Compatiblit"at abegeklopft habe.
Wie soll denn das Kind hei"sen?

--
  Olaf Flebbe,  Theoretische Astrophysik Tuebingen
  Internet:     flebbe@tat.physik.uni-tuebingen.de
From: udo@slice.quest.sub.org (Udo Klimaschewski)
Newsgroups: de.comp.lang.c
Subject: Dumme Frage
Date: 30 Jul 92 15:06:42 GMT
Reply-To: udo@quest.sub.org
Organization: QUEST systems GmbH

Hallo!

Kann mir einer mal den Sinn erklaeren, warum das funkioniert:

void foo()
{
printf("foo\n");
}

main(argc,argv)
int	argc;
char	**argv;
{
foo;
}

compiliert auf SunOS 4.1 / SunOS 4.1.1 / DEC Risc Ultrix 4.2 / IBM AIX 3.1

Ich seh da keinen rechten Sinn dahinter ;-)

Gruss
	udo
From: ft1wf@ft1sparc.ft1.tu-harburg.de (Werner Fleck)
Newsgroups: de.comp.lang.c
Subject: Re: Dumme Frage
Date: 31 Jul 92 08:27:25 GMT
Reply-To: fleck@tu-harburg.dbp.de
Organization: Technische Universitaet Hamburg-Harburg

In article <977@watzman.quest.sub.org>, udo@slice.quest.sub.org (Udo Klimaschewski) writes:
|> Hallo!
|> 
|> Kann mir einer mal den Sinn erklaeren, warum das funkioniert:
|> 
|> void foo()
|> {
|> printf("foo\n");
|> }
|> 
|> main(argc,argv)
|> int	argc;
|> char	**argv;
|> {
|> foo;
|> }
|> 
|> compiliert auf SunOS 4.1 / SunOS 4.1.1 / DEC Risc Ultrix 4.2 / IBM AIX 3.1
|> 
|> Ich seh da keinen rechten Sinn dahinter ;-)
|> 
|> Gruss
|> 	udo

Warum sollte es nicht gehen? foo ist die Adresse einer Funktion und deshalb
(zumindest bei nicht ANSI-Compilern) genauso legal wie die Zeile:
12345;
Einen Sinn hat dies Zeile allerdings nicht, da foo ja nicht ausgefuehrt bzw.
einfach wegoptimiert wird.

-- 
* Werner Fleck                            * email: fleck@tu-harburg.dbp.de *
* Arbeitsbereich Fertigungstechnik I      *                                *
* Technische Universitaet Hamburg-Harburg *                                *
* Denickestrasse 17                       * Tel.: +49 40 7718-3286         *
* D-2100 Hamburg 90                       * Fax:  +49 40 7718-2500         *
Newsgroups: de.comp.lang.c
From: kwe@dfv.rwth-aachen.de (Karsten Wemheuer)
Subject: Re: Statuswechsel im switch
Keywords: switch, c
Organization: Communication Networks
Date: Wed, 22 Jul 1992 15:29:31 GMT

Hallo Stefan,

In de.comp.lang.c you write:

>	Was passiert hierbei?:

>	0:	for (was auch immer)
>	0a:	{
>	1:		switch (status)
>	2:		{
>	3:		case DEFAULT:	
>	4:			printf("DEFAULT");
>	5:			status = STATUS1;
>	6:			break;

hier wird der switch verlassen, es geht erst nach '}' weiter. Der Fall STATUS1
wird nicht durchlaufen. (break bricht in jedem Fall den switch ab)

F"ur Deine Anwendung w"are es sinnvoll:
	3:		case DEFAULT:	
	4:			printf("DEFAULT"); 
				/* Wenn Du willst: status=xx */
	5:		case STATUS1:
	6:			printf("STATUS1");
	7:			status = DEFAULT;
	8:			break;

Wenn Du solche Statements allerdings sehr intensiv verwendest, wird es bald
sehr un"ubersichtlich!

Ich hoffe, ich habe geholfen,

Karsten

-- 
Karsten Wemheuer - Communication Networks, RWTH Aachen            C   O   M
                   Kopernikusstr. 16, D-5100 Aachen, Germany  --+-+-+-+-+-+-+-- 
e-mail           - kwe@dfv.rwth-aachen.de                       N   E   T   S
From: haen@veces.stgt.sub.org (Herbert Neugebauer)
Newsgroups: de.comp.lang.c
Subject: Thanks
Distribution: world
Date: Wed, 22 Jul 92 15:52:59 GMT
Organization: Me? Organized?

Hallo,

vor kurzen hatte ich ein kleines Problem mit
dem zweifachen oeffnen eines Files. Nun, in
mehreren Antworten wurde ich auf die Funktion
fdopen hingewiesen.

Nun, die API-Funktion DosOpen liefert einen Handle
den ich somit umwandeln kann, und es funktioniert
tadellos. Sehr gut kann man dabei beobachten, was
passiert, wenn kein fflush aufgerufen wird, aber
das war mir schon vorher klar.

Also, vielen Dank fuer die zahlreichen Antworten

   Herbert
--
~~~~~~ Herbert Neugebauer ~~~ Eberhard Str. 5 ~~~~~~ W-7038 Holzgerlingen ~~
~~ haen@veces.stgt.sub.org ~~~ phone:  07031-603164 ~~~~~    Germany	  ~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~  This sentence in English is difficult to translate into German.	 ~~~
~~					   -  D. R. Hofstadter		 ~~~
From: barnard@forge.erh.sub.org (Henning Schmiedehausen)
Newsgroups: de.comp.lang.c
Subject: Re: v*printf
Date: Sat, 25 Jul 1992 00:30:03 GMT
Organization: Barnard's Software Forge
X-Newsreader: Arn V1.00 beta rel1

In article <vkior*0H1@germal.bs.open.de>, Gerald Malitz writes:

> 
> 	Kurz und schmerzlos: sind vprintf, vfprintf und vsprintf
> Teil des ANSI-Standards?

K&R, 2. Ausgabe: Ansi-C, S. 239, Anhang B:

Dieser Anhang ist eine kurze Bescheibung der Bibliothek, die im ANSI-Standard
definiert wird...

S.242: vprintf(), vfprintf(), vsprintf()


Also wuerde ich sagen: Ja.

	Ciao
		Henning


--
-- Henning Schmiedehausen --- barnard@forge.erh.sub.org --- A 3000/25 --- __
Captain, wir koennen es schaffen, wir koennen den  |Home of Barnard's__  ///
Transporter modifizieren. Wir brauchen 15 Jahre und|Software Forge   \\\///
100 Techniker... - Geordi LaForge, ST:TNG - The ensigns of command    \XX/
From: gm@germal.bs.open.de (Gerald Malitz)
Newsgroups: de.comp.lang.c
Subject: v*printf
Date: 22 Jul 92 11:35:27 GMT
X-Newsreader: Arn V1.00 beta rel2


	Kurz und schmerzlos: sind vprintf, vfprintf und vsprintf
Teil des ANSI-Standards?

	Manche stdio-Implementationen bieten auch noch eine
vierte Funktion, die als erstes Argument einen Pointer auf
eine Funktion bekommt.  Diese Funktion wird fuer jedes
auszugebende Zeichen aufgerufen.  Ist die Standard oder
wenigstens verbreitet?

	Tschuess, Gerald.

-- 
  // Gerald Malitz,  Bolchentwete 4,  3300 Braunschweig,  Voice: +49 531 796832
\X/ gm@germal.bs.open.de                   ISO?  Nicht immer, aber immer vfter.
From: barnard@forge.erh.sub.org (Henning Schmiedehausen)
Newsgroups: de.comp.lang.c
Subject: Re: Statuswechsel im switch
Date: Mon, 27 Jul 1992 13:19:55 GMT
Organization: Barnard's Software Forge
X-Newsreader: Arn V1.00 beta rel1

In article <H.zoY3ZjQpXc_@krokus.han.de>, Jochen Linz writes:

>  Die switch()-Anweisung wird wie eine if()-Anweisung behandelt :
>
>  if(status==DEFAULT)
>  {
>  }
>  else
>  {
> 	if(status==STATUS1)
> 	{
> 	} 
>  }
>  
>  Hier sieht man auch, dass nachfolgende Bedingungen nicht mehr geprueft werden, wenn
>  eine Bedingung zutrifft... Du musst also switch() erneut aufrufen...

Das stimmt nur, wenn Du brav 'break' Statements einfuegst.

Diese Anweisung:

	switch(foo)
	{
		case bar1: 
		{
			laber();
			break;
		}
		case bar2:
		{
			fasel();
		}
		default:
		{
			bla();
		}
	}

kannst Du kaum noch mit if's umschreiben... :)

	Ciao
		Henning

--
-- Henning Schmiedehausen --- barnard@forge.erh.sub.org --- A 3000/25 --- __
Captain, wir koennen es schaffen, wir koennen den  |Home of Barnard's__  ///
Transporter modifizieren. Wir brauchen 15 Jahre und|Software Forge   \\\///
100 Techniker... - Geordi LaForge, ST:TNG - The ensigns of command    \XX/
From: sz@Materna.DE (Stefan Zimmermann)
Newsgroups: de.comp.lang.c
Subject: Re: Statuswechsel im switch
Keywords: switch, c
Date: 27 Jul 92 11:17:37 GMT

An alle

	Danke fuer die Tips und Erlaeuterungen.

		Allerdings verstehe ich das Programm, worum es ging,
		jetzt gar nicht mehr ;:)

	Stefan
--
Stefan Zimmermann	|	Tel: 0231/5599226	| Irren ist menschlich,
Dr. Materna GmbH	|	Fax: 0231/5599100	|   aber das Gefuehl
Vo"skuhle 37		|    Privat: 0231/556124	|         dabei
4600 Dortmund 1		| e-mail: sz@elwoood.materna.de	|    ist goettlich.
From: sz@Materna.DE (Stefan Zimmermann)
Newsgroups: de.comp.lang.c
Subject: Statuswechsel im switch
Keywords: switch, c
Date: 22 Jul 92 07:28:57 GMT

Hi ,

nicht nur zur Belebung dieser Gruppe, folgende Frage:

	Was passiert hierbei?:

	0:	for (was auch immer)
	0a:	{
	1:		switch (status)
	2:		{
	3:		case DEFAULT:	
	4:			printf("DEFAULT");
	5:			status = STATUS1;
	6:			break;
	7:		case STATUS1:
	8:			printf("STATUS1");
	9:			status = DEFAULT;
	10:			break;
		    :
		    :
	11:		}
	12:	}

Ich wuerde mir wuenschen, dass die Zuweisung in Zeile 5 zur Folge hat, dass
der Zweig fuer den Fall STATUS1 auch noch durchlaufen wird. Die Zuweisung 
in Zeile 9 allerdings erst beim naechsten Schleifendurchlauf Auswirkungen
hat. Ist dem so und ist dies dann immer so ??


	Thanxs
		Stefan

--
Stefan Zimmermann	|	Tel: 0231/5599226	| Auch wenn die Welt
Dr. Materna GmbH	|	Fax: 0231/5599100	| auseinanderfaellt,
Vo"skuhle 37		|    Privat: 0231/556124	| egal, Hauptsache das
4600 Dortmund 1		| e-mail: sz@elwoood.materna.de	| neue Auto ist bestellt
From: fraro@mqssys.hanse.de (Frank Rolf)
Newsgroups: de.comp.lang.misc
Subject: Modula 2 - Compiler fuer Sun 4 gesucht
Date: 26 Jul 92 11:56:32 GMT
Organization: MQSSYS - A Private Site In Hamburg (Germany)


Hallo!

Ich suche einen PD Modula 2 - Compiler fuer Sun 4. Ich waere dankbar fuer die
Adressen von FTP-Archiven oder die Mailadressen etc. von anderen Bezugquellen.

Herzlichen Dank, Frank.


--
Dipl.Inform. Frank Rolf - Marienthaler Str. 1 - D-2000 Hamburg 26 - Germany
Privat: fraro@mqssys.hanse.de / (+49) 40 252178 - Geschaeft: fro@hekla.uucp
Xref: sparky de.comp.lang.misc:37 de.comp.lang.c:37
From: urlichs@smurf.sub.org (Matthias Urlichs)
Newsgroups: de.comp.lang.misc,de.comp.lang.c
Subject: Re: Algorithmus gesucht
Date: 31 Jul 1992 17:56:49 +0200
Organization: University of Karlsruhe, FRG
NNTP-Posting-Host: 127.0.0.1

In de.comp.lang.misc, article <TsFjr*Uf0@forge.erh.sub.org>,
  barnard@forge.erh.sub.org (Henning Schmiedehausen) writes:
> In article <HsJgNB1w165w@joker.wes.open.de>, Jochen Erwied writes:
> 
> Usage: saison <anzahl der Teams>
> 
> #include <stdio.h>
> 
> main(argc,argv)
> int     argc;
> char  *argv[];
>   {
> 
> int     team;
> int     oppo;
> int     nof;
> int     spieltag;
> int     plays[31];
> int     place[31];
> 
> 
>   nof = atoi(argv[1]);
> 
>   if(nof < 2 || nof > 30)
>     {
>     printf("Anzahl der Teams muss >=2 und <= 30 sein: %d\n",nof);
>     exit(10);
>     }
> 
Aeh -- ich will ja nicht meckern, aber schon mal was von malloc() gehoert?
Oder von einem Testen von argv auf == 2? 

-- 
"He flung himself on his horse and rode madly off in all directions"
-- 
Matthias Urlichs  --  urlichs@smurf.sub.org -- urlichs@smurf.ira.uka.de   /(o\
Humboldtstrasse 7 -- 7500 Karlsruhe 1 -- Germany  --  +49-721-9612521     \o)/
From: mimbeck@martinhost.hanse.de
Newsgroups: de.comp.lang.misc,de.sys.ibm
Subject: GNU C / C++ fuer PC
Date: 30 Jul 92 09:29:11 GMT
Reply-To: mimbeck@martinhost.hanse.de
Organization: NeXTfriends Germany e.V.

Da ich eigentlich mit PCs nichts am Hut habe, habe ich eine Frage. GNU C ist ja  
nun ein (zumindest fuer den NeXT) verbreiteter Compiler. Gibt es den auch fuer  
PCs (sprich MS-DOS) oder nur fuer UNIX-Rechner?

Sollte es ihn irgendwo fuer PCs geben, dann ist natuerlich die naechste Frage:  
wo? [wobei ich kein ftp machen kann!]

gruss
	martin

--
Martin Imbeck              privat:    mimbeck@martinhost.hanse.de
Hamburg, Germany           
Tel. 040-874436            NeXTfriends Germany e.V.
Newsgroups: de.comp.lang.misc,de.sys.ibm