- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 13

Thema: mehrfach Abfrage in C

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Hallo Andreas,
    ich glaube ich verstehe was Du meinst. Er liefert mir beim ersten Vergleich ein BOOLEAN also TRUE wenn die Werte gleich sind und führt dann weitere Vergleiche mit dieser 1 durch. Das geht dann natürlich in die Hose.
    Aber mal was ganz anderes: Wie kommt es, dass ('/'/'/') tatsächlich 1 ergibt, hab es eben mal ausprobiert ebenso ('-'-'-') Der Compiler macht eine 0 draus.
    Wirklich erstaunlich, muss man das Verstehen ??????
    ('/') ergbit eine 47 hängt also irgendwie mit dem Ascii-Code zusammen....
    Danke Dir für die Info.

    Dann ist also
    ('/') - ('/'/'/') = 46

    Siro
    Geändert von Siro (15.02.2012 um 13:16 Uhr)

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Aber mal was ganz anderes: Wie kommt es, dass ('/'/'/') tatsächlich 1 ergibt, hab es eben mal ausprobiert ebenso ('-'-'-') Der Compiler macht eine 0 draus.
    Das würde ich auch gerne wissen:

    http://www.google.de/search?q=('/'/'/')
    http://www.google.de/search?q=('-'-'-')
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2011
    Ort
    Hannover
    Beiträge
    164
    Mega-grins:

    Code:
    '/'/'/'
    ist besser lesbar als
    Code:
    '/'  /  '/'
    und das ist das gleiche wie
    Code:
    47 / 47
    (weil chars auch nur Zahlen sind), also 1, also true. false ist dann ganz ähnlich (in Mathefachliteratur heißt es immer: "der einfache Beweis sei dem Leser überlassen").


    Zitat Zitat von Siro Beitrag anzeigen
    Dann ist also ('/') - ('/'/'/') = 46
    rischtisch



    viele Grüße
    Andreas
    #define true ('/'/'/')
    #define false ('-'-'-')

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    und das ist das gleich wie
    ist ja unfassbar einfach. Ich "stolpere" leider gedanklich immer über "(... also 1, also true." und finde deshalb diese einfachen 1/0-Lösungen nicht. Danke.

    Gruß

    mic

    P.S.: Offensichtlich denke ich nicht mehr, ich google...
    Geändert von radbruch (15.02.2012 um 13:48 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2011
    Ort
    Hannover
    Beiträge
    164
    Ging mir auch so, bis ein Kollege mir mal erklärt hat: "false, das ist falsch, das ist nix, das ist 0". Seitdem ist es im Hirn festgebrannt. Alles andere ist dann eben "true". Wenn ich mich richtig erinnere ist (oder war) das auch mal die Definition in der Sprache; 0 == false, alles andere ist true)

    viele Grüße
    Andreas
    #define true ('/'/'/')
    #define false ('-'-'-')

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2011
    Ort
    Hannover
    Beiträge
    164
    Gerade mal ausprobiert:

    Code:
    #include <stdio.h>
    
    int main (void)
    {
        if (0)
           printf ("0\n");
        if (1)
           printf ("1\n");
        if (2)
           printf ("2\n");
        if (3)
           printf ("3\n");
        if (3.14)
           printf ("3.14\n");
        return 0;
    }
    Ausgabe:

    Code:
    1
    2
    3
    3.14
    Edit: schön zu wissen, das 42 true ist
    #define true ('/'/'/')
    #define false ('-'-'-')

  7. #7
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Eben, daran bleibe ich immer hängen. True ist nicht 1, nicht PI, nicht r1bis4 oder gar 42, True ist einfach nur !false:

    #define false (1==0)
    #define true !false

    So habe ich das mal irgendwann aufgeschnappt und das gefällt mir ganz gut. :)
    https://www.roboternetz.de/community...t-Boolean-in-C

    Gruß

    mic

    #define true 42
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698
    ... schön zu wissen, das 42 true ist ...
    Ich dachte immer, es ist seit etwa 1978 bekannt, dass die Antwort 42 ist.


    Mit einem klitzekleinen, aber boshaften Grinsen.

    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. Mehrfach USB Switch
    Von Basteltisch im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 22.01.2010, 22:15
  2. Mehrfach initialisieren möglich?
    Von Duesentrieb im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 01.11.2007, 09:31
  3. ICP1 an Mega32 mehrfach benutzen möglich ?
    Von Tommy75 im Forum AVR Hardwarethemen
    Antworten: 0
    Letzter Beitrag: 13.10.2007, 11:57
  4. Timer mehrfach / optimal nutzen
    Von DerRuffi im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 26.10.2006, 08:16
  5. Versorgungspins mehrfach vorhanden
    Von Amri im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 01.08.2005, 18:24

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress