#include <stdio.h>
#pragma warning(disable : 4996)
// 2. Funktionsprototyping
void begruessung(void);
void ausgabe(int);
int main(void)
{
char str[10];
const char str2[] = "Teststring"; // in C: 0-terminierter String
int i = 0; // Laufvariable
int anzZahlen = 0;
// BEGRUESUNG
begruessung(); // 1. Funktionsaufruf
// EINGABE
printf("Geben Sie einen String ein: "); //scanf("%s", str);
// VERARBEITUNG
// siehe ASCII-Tabelle: https://d...content-available-to-author-only...a.org/wiki/American_Standard_Code_for_Information_Interchange#ASCII-Tabelle
while (str[i] != 0) // Integer 0 entspricht char '\0'
{
//if (str[i] >= '0' && str[i] <= '9') // Zeichen aus ASCII-Tabelle
//if (str[i] >= 48 && str[i] <= 57) // Dezimale-Werte aus ASCII-Tabelle
//if (str[i] >= 060 && str[i] <= 071) // Oktal-Werte mit führender 0
if (str[i] >= 0x30 && str[i] <= 0x39) // Hex-Werte
anzZahlen++;
i++; // Laufvariable erhöhen
}
// AUSGABE
ausgabe(anzZahlen); // 1. Funktionsaufruf mit Parameter
fflush(stdin
); // Tastaturpuffer löschen getchar(); // Warte auf Enter-Taste
}
// 3. Funktionsdefinition
void begruessung(void)
{
printf("\t\tWORD COUNT PROGRAMM Version 0.0\n"); printf("\tZaehlt die Anzanl der Zahlen\n\n");
}
void ausgabe(int aus) // Prameterübergabe: call by value (cbv)
{
printf("Anzahl Zahlen= %d", aus
); }
I2luY2x1ZGUgPHN0ZGlvLmg+CiNwcmFnbWEgd2FybmluZyhkaXNhYmxlIDogNDk5NikKCi8vIDIuIEZ1bmt0aW9uc3Byb3RvdHlwaW5nCnZvaWQgYmVncnVlc3N1bmcodm9pZCk7CnZvaWQgYXVzZ2FiZShpbnQpOwoKaW50IG1haW4odm9pZCkKewoJY2hhciBzdHJbMTBdOwoJY29uc3QgY2hhciBzdHIyW10gPSAiVGVzdHN0cmluZyI7CS8vIGluIEM6IDAtdGVybWluaWVydGVyIFN0cmluZwoJaW50IGkgPSAwOwkJLy8gTGF1ZnZhcmlhYmxlCglpbnQgYW56WmFobGVuID0gMDsKCgkvLyBCRUdSVUVTVU5HCgliZWdydWVzc3VuZygpOwkJCS8vIDEuIEZ1bmt0aW9uc2F1ZnJ1ZgoKCS8vIEVJTkdBQkUKCXByaW50ZigiR2ViZW4gU2llIGVpbmVuIFN0cmluZyBlaW46ICIpOwoJLy9zY2FuZigiJXMiLCBzdHIpOwoJZmdldHMoc3RyLCAxMCwgc3RkaW4pOwoKCS8vIFZFUkFSQkVJVFVORwoJLy8gc2llaGUgQVNDSUktVGFiZWxsZTogaHR0cHM6Ly9kLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5hLm9yZy93aWtpL0FtZXJpY2FuX1N0YW5kYXJkX0NvZGVfZm9yX0luZm9ybWF0aW9uX0ludGVyY2hhbmdlI0FTQ0lJLVRhYmVsbGUKCXdoaWxlIChzdHJbaV0gIT0gMCkJCS8vIEludGVnZXIgMCBlbnRzcHJpY2h0IGNoYXIgJ1wwJwoJewoJCS8vaWYgKHN0cltpXSA+PSAnMCcgJiYgc3RyW2ldIDw9ICc5JykJLy8gWmVpY2hlbiBhdXMgQVNDSUktVGFiZWxsZQoJCS8vaWYgKHN0cltpXSA+PSA0OCAmJiBzdHJbaV0gPD0gNTcpCQkvLyBEZXppbWFsZS1XZXJ0ZSBhdXMgQVNDSUktVGFiZWxsZQoJCS8vaWYgKHN0cltpXSA+PSAwNjAgJiYgc3RyW2ldIDw9IDA3MSkJCS8vIE9rdGFsLVdlcnRlIG1pdCBmw7xocmVuZGVyIDAKCQlpZiAoc3RyW2ldID49IDB4MzAgJiYgc3RyW2ldIDw9IDB4MzkpCS8vIEhleC1XZXJ0ZQoJCQkJYW56WmFobGVuKys7CgkJaSsrOwkJCQkJLy8gTGF1ZnZhcmlhYmxlIGVyaMO2aGVuCgl9CgoJLy8gQVVTR0FCRQoJYXVzZ2FiZShhbnpaYWhsZW4pOwkJLy8gMS4gRnVua3Rpb25zYXVmcnVmIG1pdCBQYXJhbWV0ZXIKCQoKCWZmbHVzaChzdGRpbik7ICAvLyBUYXN0YXR1cnB1ZmZlciBsw7ZzY2hlbgoJZ2V0Y2hhcigpOyAgICAgIC8vIFdhcnRlIGF1ZiBFbnRlci1UYXN0ZQoKfQoKLy8gMy4gRnVua3Rpb25zZGVmaW5pdGlvbgp2b2lkIGJlZ3J1ZXNzdW5nKHZvaWQpCnsKCXByaW50ZigiXHRcdFdPUkQgQ09VTlQgUFJPR1JBTU0gVmVyc2lvbiAwLjBcbiIpOwoJcHJpbnRmKCJcdFphZWhsdCBkaWUgQW56YW5sIGRlciBaYWhsZW5cblxuIik7Cgp9Cgp2b2lkIGF1c2dhYmUoaW50IGF1cykJLy8gUHJhbWV0ZXLDvGJlcmdhYmU6IGNhbGwgYnkgdmFsdWUgKGNidikKewoJcHJpbnRmKCJBbnphaGwgWmFobGVuPSAlZCIsIGF1cyk7Cn0=