Die Funktion "printf" nimmt einen Argumenttyp an, z. B. "%d" oder "%i" für einen "vorzeichenbehafteten int". Ich sehe jedoch nichts für einen long
-Wert.
Setzen Sie ein "l" (Kleinbuchstabe L) direkt vor den Bezeichner.
unsigned long n;
long m;
printf("%lu %ld", n, m);
Ich glaube, Sie meinen:
unsigned long n;
printf("%lu", n); // unsigned long
oder
long n;
printf("%ld", n); // signed long