C++中如何控制输入数字的长度

 我来答
一灯
2011-06-24 · TA获得超过1167个赞
知道小有建树答主
回答量:2614
采纳率:0%
帮助的人:1272万
展开全部
如果是C, 先使用malloc分配一块内存做为数组,如果需要存储的数据量过大时,使用realloc扩大该块内存。
求一个C数组的长度必须知道:
1. 数组大小
2. 数组单个元素大小
如果所谓的“未知数组”不具备上述的两个因素,就无法求得其长度。
补充:
对string求长度,例子:
string str = "abc";
cout << str.length(); -> 结果为:3

cin返回的是一个istream对象,不能用于结束输入的判断。
你可以使用ctrl+Z做为结束输入的标志,要这样写:
int i = 0;
int r;
while (true) {
cin >> r;
if (cin.eof())
break;
i++;
}

cout << i;
追问
就是我想输入一串手机号码,但是,int只能输入10位数,手机号码是11位,输入就溢出了。
x68251
2011-06-28 · TA获得超过602个赞
知道小有建树答主
回答量:470
采纳率:0%
帮助的人:273万
展开全部
最好采用字符串记录长度,超过指定长度不记录,符合要求的转换成数字。
电话号码、身份证号码等要用字符串存储的。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
domain_pro
2011-06-24 · TA获得超过279个赞
知道小有建树答主
回答量:359
采纳率:0%
帮助的人:269万
展开全部
你这个长度控制是什么层面上的?如果是整数和浮点数,就限定最大值和最小值吧!
追问
就是我想输入一串手机号码,但是,int只能输入10位数,手机号码是11位,输入就溢出了。,试过浮点的了,浮点的输出的记录是带e的,不符合记录手机号码的要求。
追答
long int试试看呀!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yhgk0731
2011-06-24
知道答主
回答量:45
采纳率:0%
帮助的人:0
展开全部
身上
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式