long long io mit printf und scanf
-
Hallo
kann mir jemand sagen wie ich mit printf und scanf long long's ausgeben bzw. einlesen kann.
Oder geht das noch nicht, ich benutze mingw zum kompilieren.Gruß Gary
-
google.de -> long long c -> Fröhlich sein.
-
rtfm: man: printf(3)
-
Danke habs gefunden:
%llu und %lliJetzt hab ich mein Programm für unsigned long long's umgeschrieben und jetzt funktionieren die vergleichsoperatoren nicht mehr.
Ich benutz MinGw weiß vielleicht jemand vorans liegt.
PS ich bin schon dabei selbst zu gucken.
-
iirc geht das "ll" flag nicht beim mingw, da der die MS-Bibliothek benutzt. Hat sich das etwa geändert?
-
%i64d bzw. %i64u
-
NEIN
ich hab vorhin mit kleinen zahlen getestet
ll geht wirklich nichtWo gibts denn Referenzen die für die Bibliotheken von mingw gelten.
-
Ok hat sich erledigt ich schreib das Programm jetzt einfach in Python.
-
gary1195 schrieb:
Ok hat sich erledigt ich schreib das Programm jetzt einfach in Python.
*LOL*
Dann viel Spaß mit der atemberaubenden Geschwindigkeit von Python und dem tollen Einrücken.
-
long long haben nicht alle Compiler gleich implementiert!
Compilieren geht ohne Fehlerausgabe, aber die Ergebnisse ...
-
f.-th. schrieb:
long long haben nicht alle Compiler gleich implementiert!
Genauso wie char, int oder float. Aber kennen sollten sie es schon.
-
Kommt auf den C Standard an. C89 kennt long long nicht.
-
Janjan schrieb:
Kommt auf den C Standard an. C89 kennt long long nicht.
Und jetzt geh mal in dich und finde heraus, wie alt C89 ist.
-
mngbd schrieb:
Und jetzt geh mal in dich und finde heraus, wie alt C89 ist.
auf jeden fall jünger als ich, zähl ich deswegen schon zum alten eisen
lg lolo
-
Okay
Ein User dieses Forums, egs, hatte folgenden Code:
#include<stdio.h> int main(void) { double a=0,b=0,c=0,d=0; printf("\ngebe Ub ein: "); scanf("%lf",&a); printf("\ngebe Ic ein: "); scanf("%lf",&b); printf("\ngebe B ein: "); scanf("%lf",&c); printf("\ngebe q ein: "); scanf("%lf",&d); printf("\n\nErgebnisse:\n"); printf("R1 oder Rc:\t%2lf\n",a/2/b); printf("R2 oder Re:\t%2lf\n",a/2/b/10); printf("R3 oder Rq:\t%2lf\n",(a/2/10+0.7)/(b/c*d)); printf("R4 oder Rv:\t%2lf\n",(a-(a/2/10+0.7))/(b/c*d)); return 0; }
warum gibt mir der gcc 4.4.1 nach fehlerfreiem kompilieren (?) als Ergebnis immer das gleiche 0.000000 ?
Und der bcc5.5, ja ich weiss ist kein anerkannter, die richtigen Ergebnisse?Hält sich nun der bcc nicht an die Spielregeln oder was
muss für den gcc ergänzt werden?
-
fehlen dem gcc evtl. ein paar punkte nach den zahlen
-
hatte das selbst korrekt geprüft,
aber blind hier kopiert, hast recht 2 Nachkommastellen -> 4 PunkteDem Compiler hab ich:
gcc -pedantic -Os -o tr02b tr02b.c -std=c99
klarmachen wollen.Ergebnis nun natürlich 4x 0.00