输入数字n,按顺序打印出从1到最大的n位十进制数

题目:输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1,2,3一直到最大的999.

跳进面试官的陷阱
1 void PrintfToMaxNDigits(int n)
2 {
3  int number=1;
4  int i=0;
5  while(i++<n)
6  number *=10;
7  for(i=1;i<number;i++)
8  printf("%d	",i);
9 }
这样初看起来没有什么问题,但是如果仔细分析这个问题就会发现"当n输入很大时",数据就会发生溢出。
所以可以尝试通过字符串来模拟数字加法的解法,绕过陷阱才能拿到Offer
因此我们只需要做两件事情:
1,在字符串表达的数字上模拟加法;
2,把字符串表达式的数字打印出来;
基于上面的分析,我们可以写出如下代码:
 1 void Print1ToMaxNdigits(int n)
 2 {
 3  if(n<=0)
 4  return;
 5  char *number=new char[n+1];
 6  memset(number,'0',n);
 7  number[n]='