void setup() {
  Serial.begin(115200);
 
  Serial.println(last3Digits("12345")); // 345
  Serial.println(last3Digits("789"));   // 789
  Serial.println(last3Digits("60"));    // _60
  Serial.println(last3Digits("5"));     // __5
  Serial.println(last3Digits(""));      // __0
  
}

char * last3Digits(char * aString) {

  char * retVal = "abc";
  byte len = strlen(aString);
  switch (len) {
    case 0:
      strncpy(retVal, "__0", 3);
      break;
    case 1:
      retVal[0] = '_';
      retVal[1] = '_';
      retVal[2] = aString[0];
      break;
    case 2:
      retVal[0] = '_';
      retVal[1] = aString[0];
      retVal[2] = aString[1];
      break;
    default: // len >= 3
      strncpy(retVal, aString+len-3, 3); // copy only last 3 digits
  }
  retVal[3] = 0;

  return retVal;
}

// ---------------------------------------------------

byte counter = 0;

void loop() {
  Serial.print(counter);
  Serial.print(" ");
  delay(1000);
  if (++counter > 9) { counter = 0; }
}