Die hier gezeigte Funktion Maximum ermittelt das Maximum zweier Zahlen,
die mittels Pointer via Referenzübergabe weitergereicht werden.
// ************************************************************************************************
// Autor/en: http://www.online-vba.de - Marc Wershoven
// Verwendung der Quelltexte auf eigene Gefahr!
// Es gelten die Nutzungsbedingungen von www.Online-VBA.de!
// Original-Quelltext: www.online-vba.de/cpp_maxbyref.php
// ************************************************************************************************
#include <stdio.h>
void maximum(int*a, int*b);
void main()
{
int a=3, b=6;
printf("Variablen sind: a=%i und b=%i\n", a, b);
// Aufruf der Maximumsfunktion
maximum(&a, &b);
printf("Maximum ist die erste Stelle mit dem Wert: %i\n", a);
printf("Minimum ist die zweite Stelle mit dem Wert: %i\n\n", b);
a=7; b=5;
printf("Variablen sind: a=%i und b=%i\n", a, b);
// Aufruf der Maximumsfunktion
maximum(&a, &b);
printf("Maximum ist die erste Stelle mit dem Wert: %i\n", a);
printf("Minimum ist die zweite Stelle mit dem Wert: %i\n", b);
}
void maximum(int*a, int*b)
{
int temp;
// Abfrage nach der größeren Zahl
if(*a>*b)
{
//a ist größer
//Deshalb passiert nichts.
//Größte Zahl steht bereits auf dem ersten Parameter
}
else
{
//Dreieckstausch
temp=*a;
*a=*b;
*b=temp;
}
}