Geben Sie ein führendes ‘+’ für positive Zahlen in printf aus

Lesezeit: 1 Minute

Benutzeravatar von user292844
Benutzer292844

Ich habe ein Temperaturumrechnungsprogramm als Aufgabe, das ich abgeschlossen habe. Das Programm hat viele printf Anweisungen darin, die die Temperatur drucken. Jetzt werden die negativen Temperaturen so gedruckt, wie ich sie haben möchte, aber die positiven Temperaturen werden ohne Zeilenabstand gedruckt + Schild.

Wie kommt man nun am besten hin printf Drucken Sie einen führenden +Zeichen für positive Zahl. Ich konnte nur daran denken, mich zu ändern

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

zu

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

Aber das erfordert viele Programmänderungen 🙁

Eine andere Möglichkeit besteht darin, meine eigene Druckfunktion zu schreiben und diese Logik dort abzulegen. Was schlagen Sie vor ?

Du kannst den … benutzen + Flagge von Druckf um positive Zahlen mit einem führenden zu drucken + unterschreiben als:

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

  • eine höfliche Art, RTFM zu sagen (nur ein Scherz)

    – Tom

    28. August 2010 um 2:56 Uhr

  • Eine Anschlussfrage. stackoverflow.com/q/69314212/330457

    – Jinkwon

    24. September 2021 um 11:25 Uhr

Fügen Sie das +-Flag hinzu. Hier ist ein Beispiel.

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

(vorausgesetzt n ist ein int – ersetzen Sie einfach %d durch andere numerische Typen)

Ich schätze, Sie wollten Folgendes tun,

double num1 = 1.;

// print num1 with leading "+";
printf("%s%lf\n",num1>0.?"+":"",num1);   // +1.000000

1388180cookie-checkGeben Sie ein führendes ‘+’ für positive Zahlen in printf aus

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy