注册 登录
编程论坛 C++教室

将字符串转换成数字,谁有好的思路吗

后卿 发布于 2023-04-05 21:08, 197 次点击
题目是
不使用库函数
定义一个函数
程序代码:

int chartoint(const char str)
int n=chartoint("123456");
输出n为123456
7 回复
#2
pvm20002023-04-06 01:06
函数:按十进制各位加权展开相加即可
#3
apull2023-04-06 01:10
这样可以不?
程序代码:

int chartoint(const char *str)
{
    int rst = 0;
    while (*str)
    {
        rst = rst * 10 + (*str++ - '0');
    }
    return rst;
}
#4
rjsp2023-04-06 07:39
如果函数返回类型int不是随手瞎写的话,还得考虑字符串是否含有正负号。
#5
后卿2023-04-06 17:03
回复 3楼 apull
好的非常感谢
#6
后卿2023-04-26 12:09
回复 3楼 apull
请问这段程序会不会溢出呀
我觉得不会溢出呀,为什么有的人说会导致溢出呢
#7
阳光上的桥2023-04-26 14:51
是否溢出要看你家电脑的int范围,如果是最老的(例如TURBOC)-32768~32767,那输入123456就会溢出,就需要使用long类型
#8
后卿2023-04-26 16:37
回复 7楼 阳光上的桥
好的非常感谢
1