I dette eksempel lærer du at finde det største nummer, der er indtastet af brugeren i en dynamisk tildelt hukommelse.
For at forstå dette eksempel skal du have kendskab til følgende C-programmeringsemner:
- C markører
- C Dynamisk hukommelsesallokering
- C for Loop
Find det største element i en dynamisk allokeret hukommelse
#include #include int main() ( int num; float *data; printf("Enter the total number of elements: "); scanf("%d", &num); // Allocating memory for num elements data = (float *)calloc(num, sizeof(float)); if (data == NULL) ( printf("Error!!! memory not allocated."); exit(0); ) // Storing numbers entered by the user. for (int i = 0; i < num; ++i) ( printf("Enter Number %d: ", i + 1); scanf("%f", data + i); ) // Finding the largest number for (int i = 1; i < num; ++i) ( if (*data < *(data + i)) *data = *(data + i); ) printf("Largest number = %.2f", *data); return 0; )
Produktion
Indtast det samlede antal elementer: 5 Indtast nummer 1: 3.4 Indtast nummer 2: 2.4 Indtast nummer 3: -5 Indtast nummer 4: 24.2 Indtast nummer 5: 6.7 Største tal = 24.20
I programmet bliver brugeren bedt om at indtaste antallet af elementer, der er gemt i variabel antal. Vi tildeler hukommelse til antallet af floatværdier.
Derefter bliver brugeren bedt om at indtaste numre. Disse numre er gemt i den dynamisk tildelte hukommelse.
Endelig bestemmes det største antal blandt disse tal og udskrives på skærmen.