35 lines
1.1 KiB
C
35 lines
1.1 KiB
C
#include <stdio.h>
|
|
#include <stdarg.h>
|
|
|
|
void vielmax(int x, ...){ //x gibt die Anzahl der eingelesenen Zahlen an //... sind die unbennanten Parameter
|
|
int zahl;
|
|
int vorgaenger = 0, max = 0; //Die Variablen werden benötigt, damit die Ausgabe der größten Zahl funktioniert.
|
|
|
|
va_list vielmax; //definiert die Variadische Funktion
|
|
va_start(vielmax, x); //übergibt die Anzahl an unbekannten Parametern
|
|
|
|
for (int i = 0; i < x; ++i) {
|
|
|
|
zahl = va_arg(vielmax,int); //Ließt durch die for-Schleife immer den nächsten Parameter ein
|
|
|
|
//Findet den größten wert heraus
|
|
if(zahl >= vorgaenger){
|
|
max = zahl;
|
|
}else if (zahl == 0){
|
|
break;
|
|
}
|
|
|
|
printf("%d ", zahl);
|
|
vorgaenger = zahl;
|
|
}
|
|
printf("ist: %d", max);
|
|
va_end (vielmax); //Gibt den Speicher wieder frei
|
|
}
|
|
|
|
int main(void){
|
|
printf("Testprogramm fuer Funktion vielmax()\n");
|
|
printf("====================================\n\n");
|
|
printf("Das Maximum der Zahlen ");
|
|
|
|
vielmax(100, 24, 5226, 3243, 8238, 23, 22, 1, 0); //100 ist die maximale Anzahl der eingelesenen Zahlen
|
|
} |