2010-08-28 7 views
19

Ich habe ein Temperaturumwandlungsprogramm als eine Aufgabe, die ich abgeschlossen habe. Das Programm hat viele printf Anweisungen, die die Temperatur drucken. Jetzt werden die negativen Temperaturen so gedruckt, wie ich es möchte, aber die positiven Temperaturen werden ohne ein vorangestelltes Zeichen gedruckt.Drucken Sie ein führendes "+" für positive Zahlen in printf

Nun, was ist der beste Weg, um printf Drucken Sie eine führende + Zeichen für positive Zahl. Aber das erfordert viele Änderungen im Programm Alle ich denken konnte, ist

printf("Min temp = %d\n",max_temp) 

zu

if(max_temp > 0) 
    printf("+"); 
printf("Min temp = %d\n",max_temp) 

zu ändern :(

Eine weitere Option ist meine eigene Druckfunktion zu schreiben und diese Logik setzen Wofür schlagen Sie vor?

Antwort

46

Sie können das + Flag von printf verwenden, um positive Zahlen mit einer führendenzu druckenanmelden als:

printf("%+d %+d",10,-10); // prints +10 -10 
+7

eine höfliche Art RTFM zu sagen (Scherz) – Tom

+1

SO ist die FM !! – bobobobo

14

Fügen Sie die + Flagge hinzu. Hier ist ein Beispiel.

int n; 
printf("%+d", n); 

(n vorausgesetzt, ist ein int - nur% d für andere numerische Typen ersetzen)