Operator Modulo w Objective C
Z „Programowania w Celu C” (Kochan):
Program 5.8 monituje użytkownika o wprowadzenie liczby, a następnie wyświetlenie cyfr z tej liczby od prawej do lewej cyfry.
// Program to reverse the digits of a number
#import <Foundation/Foundation.h>
int main (int argc, char *argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int number, right_digit;
NSLog (@"Enter your number.");
scanf ("%i", &number);
while ( number != 0 ) {
right_digit = number % 10;
NSLog (@"%i", right_digit);
number /= 10;
}
[pool drain];
return 0;
}
Moje pytanie brzmi: co się dzieje, gdy użytkownik wpisze jedną cyfrę od 1 do 9? Nie mogłem znaleźć żadnego materiału na temat takiej sprawy. Po kompilacji program kontynuuje zwrot tej pojedynczej cyfry. Dlaczego? Próbowałem wymyślić kod do tego zadania i spędzić dosłownie 2 godziny, próbując włączyć pętle i podejmować decyzje dotyczące tego problemu „jeśli numer jest jednocyfrowy”. A rozwiązanie było tak ignoranckie!