Programmiersprache C: Printf Ausgabe formatieren und ausrichten

Für Zeichenketten gibt es in C kein Datentyp. Zeichenketten werden als Array vom Typ Char definiert.

Nun machen wir ein paar Beispiele zur Printf-Ausgabe und deren Formatierung und Ausrichtung:

Aufgabe 1: Eine Zeichenkette mit der Länge 15 Zeichen anlegen und ein Mal normal und dann linksbündig anzeigen

Lösung 1:

#include

int main(){

// Achtung: Obwohl Zeichenkette 10 Zeichen haben muss, wird variable mit 11 Zeichen initialisiert,
// weil ein Zeichen für Null-Terminator benötigt wird
//
char meineZeichnekette[11] ="abcdefghij";
// Normale Darstellung ohne zusätzlice Ausrichtung durch %s
printf("%s \n",meineZeichnekette);
// Linksbündig ausrichten durch ein Minuszeichen zwischen % und s
// \n steht für Zeilenumbruch
printf("%-s \n",meineZeichnekette);
return 0;
}

Aufgabe 2: Wie sieht die Printf-Ausgabe aus, wenn eine Zeichenkette mit mindestens 15 Zeichen linksbündig ausgegeben wird?

Lösung 2:

#include

int main(){

char meineZeichenkette[16]="123456789012345";
// Minus(-) Zeichen steht für Linksbündig
printf("%-15s",meineZeichenkette);
return 0;
}

Aufgabe 3: Stellen Sie eine 8-stellige Gleitkommazahl ohne Nachkommastellen dar!

Lösung3:

#include

int main(){

float meineZahl=12345.78;
printf("%8.2f",meineZahl);
return 0;
}

Aufgabe 4: Stellen Sie eine 8-stellige Gleitkommazahl mit führenden Nullen und 2 Nachkommastellen dar!

Lösung 4:


#include
int main(){
float meineZahl=125.78; // Achtung Punkt wird mitgezählt printf("%08.2f",meineZahl);
return 0; }

Neuen Kommentar schreiben

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Suche

Neueste Kommentare

  • 4 weeks ago
    Transaction isolation level REPEATABLE-READ The recommended level for Drupal is "READ COMMITTED". (Drupal Status Report)

     Edit "/etc/my.cnf" ( under [mysqld] ):

    transaction_isolation="READ-COMMITTED"

    Restart MariaDB / MySQL:

  • 1 month ago
    Wget - Eine Webseite rekursive downloaden

    wget -U 'Mozilla/MyUserAgent' -P MyTempDir123 --wait=0.2 --random-wait -nd -r -x -l 4 -e robots=off --reject

  • 1 month ago
    Wget - Eine Webseite rekursive downloaden

    wget -U 'Mozilla/MyUserAgent2024' -P MyOutPutDirectory --wait=1 --random-wait -nd -r -l 2 -e robots=off --reject

  • 2 months 1 week ago
    CPU benchmarking with sysbench (single-threaded/all cores)

     

    # sysbench --threads="$(nproc)" cpu run

  • 2 months 1 week ago
    CPU benchmarking with sysbench (single-threaded/all cores)

    # sysbench --threads="$(nproc)" cpu run

  • 2 months 1 week ago
    Linux Autovervollständigung - bash autocomplete
    source ~/.bashrc

    Diese Lösung wird empfohlen aber hat bei mir nicht funktioniert.

    Welche Alternative gibt es?

  • 2 months 1 week ago
    PHP-CLI auf PHP8.2 umstellen (für Composer, Drush etc)

    ln -snf /opt/plesk/php/8.3/bin/php /etc/alternatives/php

  • 2 months 1 week ago
    Drush Update failed (require php >=8.2)

    In composer.json, update: 

     

  • 2 months 1 week ago
    Drupal: Anmeldung fehlgeschlagen Es hat mehr als 5 fehlerhafte Anmeldeversuche für dieses Benutzerkonto gegeben. Es ist vorübergehend gesperrt.
    drush sqlq "DELETE FROM flood"
  • 2 months 1 week ago
    Drupal SMTP + Gmail funktioniert nicht mehr (Passwort ist richtig); was ist die Lösung?