您的位置:

c语言如何把字符转换成数字,c语言如何把字符转换成数字

本文目录一览:

C语言字符转数字

功能:数字字符串转整型int,去除高位0。

注意:不要输入超出int范围。

#include stdio.h

#include string.h

int pw10(int m);//计算10次方

int str2int(char *nums);

int main()

{

    char nums[]="0103456";

    int num;

    printf("原字符串:%s\n",nums);

    num=str2int(nums);

    printf("转成整型后的数字为:%d\n",num);

    return 0;

}

int pw10(int m)//计算10次方

{

    int i,mu=1;

    if(m==0)

        return 1;

    for(i=0;im;i++)

       mu= mu*10;

    return mu;

}

int str2int(char *nums)

{

    char *p=nums;

    int len=strlen(nums),i,m=0,sum=0;

    while(1)//去高位0

    {

        if(*p=='0')

            p++;

        else

            break;

    }

    for(i=len-1;nums[i]=p;i--)

        sum=sum+(nums[i]-'0')*pw10(m++);

    return sum;

}

C语言如何把一个字符串转换成数字?

C语言有atoi、atol、atof等库函数,可分别把ASCII编码的字符串转化为int、long、float类型的数字。\x0d\x0a头文件:stdlib.h\x0d\x0a函数原型:int atoi(const char* nptr);\x0d\x0a(另外两个类似)\x0d\x0a\x0d\x0a举个例子:\x0d\x0achar *str="123";\x0d\x0aint num=atoi(str);\x0d\x0a执行后,num的值被初始化为123

C语言 如何将字符串转换成数字。不用指针和函数库,求解答

C语言 里字符 是用 ascii 码复式存放的

比如 '0'的ASCII 码是48,如果一个字符ch是数字,那么,ch-'0' 的值 就是 ch代表数字的值

因此 事先 要判断一下

比如 if (ch = '0' ch ='9') digi=ch -'0'

C语言如何把一个字符串转换成数字

C语言中,可以使用atoi函数将字符串转换为数字,如atoi("123")可以得到数字123。

atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。int atoi(const char *nptr) 函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。

如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回0。特别注意,该函数要求被转换的字符串是按十进制数理解的。atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1。

扩展资料:

C语言中数字转化为字符串的方案:

使用sprintf函数来实现,如sprintf("%d", 123)可以得到字符串"123"。

sprintf指的是字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。解决这个问题,可以考虑使用 snprintf函数,该函数可对写入字符数做出限制。

参考资料来源:百度百科-atoi

c语言问题:将数字字符串(如“1234”)转换为数值型数据怎么实现啊

代码示例如下:

#includestdio.h

int fun(char*p)

{

int sum=0;

while(*p!='\0')

{

sum=10*sum+*p-'0';

p++;

}

return sum;

}

void main()

{

char str[20];

int num;

gets(str);

num=fun(str);

printf("%d\n",num);

}

拓展资料

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSIC,作为C语言最初的标准。  目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、TurboC等。

C语言字符转换为数字

#includestdio.h

#includestring.h

int str2int(char *ch);//字符型数字转整型数字

int p10(int m);//计算10的次方,pow函数计算10次方有误差,重写函数

int main()

{

    char ch[]="234";

    int n;

    n=str2int(ch);

    printf("n=%d\n",n);

    return 0;

}

int str2int(char *ch)

{

    int len=strlen(ch),i,n=0,m=0;

    for(i=len-1;i=0;i--)

    {

        n=n+(ch[i]-'0')*p10(m++);

    }

    return n;

}

int p10(int m)

{

    int i,sum=1;

    if(m==0)

        return 1;

    for(i=0;im;i++)

        sum=sum*10;

    return sum;

}