Δημοσιεύτηκε: 06 Ιούλ 2011, 16:23
Αυτό το πρόγραμμα δίνει αριθμούς διαιρούμενους με το 6 από μια σειρά αριθμών (π.χ. από -100 μέχρι 100):
Ερώτηση: Για να βρω τον αριθμό των αντικειμένων στο array, στην python υπάρχει το len(). Υπάρχει αντίστοιχο για C; Διάβασα για "sizeof(array) / sizeof(int)" αλλά δεν δουλεύει, πάντα επιστρέφει 8 / 4 = 2
- Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *array, arraysize;
int i, x, i1, i2, min, max;
int sum = 0;
printf("Hello, World!\n\
This program will check numbers between minimum and maximum \
that are divisible by 6.\n");
printf("Enter the minimum number: ");
scanf("%d", &i1);
getchar(); // Clear stdin buffer
printf("Enter the maximum number: ");
scanf("%d", &i2);
getchar();
if (i1 < i2) { min = i1; max = i2; }
else { max = i1; min = i2; }
printf("Checking between %d and %d\n", min, max);
// Allocate size for maximum possible items
if (min < 0 && max < 0) { sum = -(max - min); }
else if (min < 0 && max >= 0) { sum = max - min; }
else if (min >= 0 && max >= 0) { sum = max + min; }
sum += 1;
printf("sum (for array): %d\n", sum);
array = (int*) malloc(sum*sizeof(int)); // dynamic array
printf("Array length: %lu\n", sizeof(array) / sizeof(int));
for (i=0, x=min; x<=max; x++) {
if ((x % 6) == 0) {
array[i] = x;
printf("Found %d! Added in array as item #%d\n", x, i);
i++;
}
}
arraysize = i; // Already +1, includes item #0
printf("Array length: %d\n", arraysize);
free(array); // Free memory
array = NULL;
return 0;
}
Ερώτηση: Για να βρω τον αριθμό των αντικειμένων στο array, στην python υπάρχει το len(). Υπάρχει αντίστοιχο για C; Διάβασα για "sizeof(array) / sizeof(int)" αλλά δεν δουλεύει, πάντα επιστρέφει 8 / 4 = 2