Vergleiche in C

Gast #784731
Lesenswert?

Hallo Leute,
wie baut man eigentlich in C ordentliche Vergleiche zusammen?
Beispiel
x <= y <= z
geht das besser als
if ((x <= y) && (y <= z)) ... ?

Wie sieht das bei einem Trend aus, also z.B. wenn 4 von 6 Messwerten 
größer sein sollen als der vorhergehende Wert?


Gibt es in c auch durchnummerierte Variable?
Also z.b.

int messwert1, meswert2, messwert3;
int zaehler;

while (zaehler < 3)
{
if (messwert[zaehler] <= messwert[zaehler + 1]) ....
zeahler++;
}
Gast #784741
Lesenswert?

> geht das besser als
> if ((x <= y) && (y <= z)) ... ?

Was verstehst du unter "besser"? Kürzer kann man es jedenfalls nicht 
schreiben.

> Wie sieht das bei einem Trend aus, also z.B. wenn 4 von 6 Messwerten
> größer sein sollen als der vorhergehende Wert?

Das würde ich in einer Schleife schreiben.

> Gibt es in c auch durchnummerierte Variable?
> Also z.b.
>
> int messwert1, meswert2, messwert3;
> int zaehler;

zaehler erhält hier irgendeinen undefinierten Wert.

> while (zaehler < 3)
> {
> if (messwert[zaehler] <= messwert[zaehler + 1]) ....
> zeahler++;
> }

Ja, gibt es, aber man schreibt die Definition so:
1
  int messwert[3];

Allerdings fängt der Index bei 0 an.
Gast #784753
Lesenswert?

>>wie baut man eigentlich in C ordentliche Vergleiche zusammen?
>>Beispiel
>>x <= y <= z
>>geht das besser als
>>if ((x <= y) && (y <= z)) ... ?

>>Wie sieht das bei einem Trend aus, also z.B. wenn 4 von 6 Messwerten
>>größer sein sollen als der vorhergehende Wert?

??

>>Gibt es in c auch durchnummerierte Variable?
>>Also z.b.
>>
>>int messwert1, meswert2, messwert3;
>>int zaehler;
>>
>>while (zaehler < 3)
>>{
>>if (messwert[zaehler] <= messwert[zaehler + 1]) ....
>>zeahler++;
>>}

Ja, gibt es, nennt sich "Array". Wird folgendermaßen deklariert.
1
int messwert[3]; // Array mit 3 Elementen
2
int zaehler = 0;
3
while (zaehler < 3)
4
{
5
if (messwert[zaehler] <= /* lieber nicht "messwert[zaehler + 1])", so kann man leicht Werte jenseits der definierten Arraygröße erwischen */ wasweißich...){...}
6
zaehler++;
7
}

mfg Lötlackl
Gast #784757
Lesenswert?

>> Gibt es in c auch durchnummerierte Variable?
>> Also z.b.
>>
>> int messwert1, meswert2, messwert3;
>> int zaehler;

> zaehler erhält hier irgendeinen undefinierten Wert.
aber nicht im debug modus
Gast #784775
Lesenswert?

>> zaehler erhält hier irgendeinen undefinierten Wert.
> aber nicht im debug modus

In Standard-C++ gibt es keinen "debug modus". Und eigentlich hoffe ich, 
daß nicht jeder Compiler so blöd implementiert ist. Es ist nämlich 
ziemlich nervig, wenn man einen Fehler im Programm hat, der im 
Debug-Modus nicht auftritt, weil der Compiler dort irgendwelche 
eigenmächtigen Initialisierungen durchführt.
Gast #784918
Lesenswert?

also dass man Variablen vor deren Verwendung einen Wert zuweisen muss 
war früher immer so drum mache ich das auch heute nicht anders. ich habe 
es oben der Einfachheit halber weggelassen.
Danke für die Tips.
Moderator Persönliche Seite #785313
Lesenswert?

flyingwolf wrote:

> also dass man Variablen vor deren Verwendung einen Wert zuweisen muss
> war früher immer so drum mache ich das auch heute nicht anders.

Diese Pauschalaussage war zumindest für C sowohl früher schon falsch
und ist es auch heute noch.

Variablen mit statischer Speicherplatzvergabe werden auf 0 (oder 0.0
oder NULL) initialisiert.  Das ist vom Standard so vorgegeben und
damit eine Eigenschaft der Sprache, auf die man sich genauso verlassen
kann und darf wie darauf, dass 1 / 2 = 0 ist.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren