NSInteger является примитивным типом. В зависимости от среды это может быть typedef'd для 32-битного или 64-битного целого числа со знаком.
s100 декларация
NSInteger* s100
, поэтому s100 - указатель. Взятие модуля указателя неверно. Эта строка должна быть:
NSInteger s100,s10,s1;
И sc, вероятно, тоже должен быть NSInteger. Если вы действительно хотите передать указатель на NSInteger, вам нужно разыменовать его, когда вы делаете с ним арифметику:
s100 = *sc % 100;
s10 = (*sc - s100 * 100) % 10;
s1 = (*sc - *sc % 10);