#include <stdlib.h>

int main(int ac, char **av){
int length = 3;
char format[16];
char *pt = (char *)alloca((length + 1) * sizeof(char));
if(!pt) return 1;
sprintf(format, "%%%ds", length);
scanf(format, length, pt);
puts(pt);
return 0;
}

※UNICODE には未対応