当题目要求输入一个极其长的数字时,例如一个一千位的数,并要求能够对每一位数字进行操作,一般这种情况怎么处理呀(位数也有可能很小)
用代码块功能插入代码,请勿粘贴截图
运行结果及报错内容
1.我首先想设置一个char类型的数组,再通过ASCII码转换为单个的数字进行操作,但是编译器要求我必须给出这个存储空间的大小,我觉得应该会栈溢出(不太懂),而且直接搞一个这么大的数组会不会太浪费空间啊,还有一点很烦人的就是,当我用指针指向这个数组的时候,我对指针进行加一操作后,指针所指向的内容就会变得莫名其妙。
2.然后我想用指针,但是int类型的指针在输入的时候不能一次型输入,得用空格或者逗号,就无法满足题干一次性输入的条件。
3.我于是使用string 类,虽然可以一次性输入并且单独对位数进行操作,但是我不明白怎么对他进行整数类型的转换和判断,实现把字符当作整数来使用的目的
4.最后,我想使用申请内存,同样困扰我的是,直接申请一个如此大的空间会不会有些浪费,而且有些在我电脑上可以运行的代码,在PTA上就会提示段错误