c语言字符串转换成整数
㈠ c语言中 字符串如何转为整型数值
在C语言中将字符串转化成整型有两种方法。
1 用atoi函数。
atoi的功能就是将字符串转为整型并返回。其声明为
int atoi(char *str);
比如atoi("1234");会返回整型1234。
要调用atoi,需要引用头文件stdio.h
2 用sscanf。
sscanf与标准格式化输入函数scanf类似,不过源并非是标准输入,而是字符串。
用sscanf可以处理更复杂的字符串。
比如字符串char * str = "a=1, b=2";
定义int a,b;后
可以用
sscanf(str,"a=%d, b=%d",&a,&b);
来将a,b值提取,计算后,a=1, b=2。
要使用sscanf同样需要引用头文件stdio.h。
㈡ C语言字符转数字
功能:数字字符串转整型int,去除高位0。
注意:不要输入超出int范围。
#include<stdio.h>
#include<string.h>
intpw10(intm);//计算10次方
intstr2int(char*nums);
intmain()
{
charnums[]="0103456";
intnum;
printf("原字符串:%s
",nums);
num=str2int(nums);
printf("转成整型后的数字为:%d
",num);
return0;
}
intpw10(intm)//计算10次方
{
inti,mu=1;
if(m==0)
return1;
for(i=0;i<m;i++)
mu=mu*10;
returnmu;
}
intstr2int(char*nums)
{
char*p=nums;
intlen=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++);
returnsum;
}
㈢ C语言:把数字字符串转换成整型数字
程序如下:
若输入字符串"ab56cd87",则输出结果:以%d格式输出十进制整数5687;若输入字符串"-ab56cd87",则输出结果:以%d格式输出十进制整数-5687。
(3)c语言字符串转换成整数扩展阅读:
C语言高效编程技巧:
一:以空间换时间
计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题
二:数学方法解决问题
数学是计算机之母,没有数学的依据和基础,就没有计算机发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。
三:使用位操作
实现高效的C语言编写的第三招----使用位操作,减少除法和取模的运算。
在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效提高程序运行的效率。
㈣ C语言中字符串和整数小数相互转换的函数都有什么
字符串转换函数如下:
字符串转换为整数 atoi
2.字符串转换为长整数 atol
3.字符串转换为浮点数 strtod
4.字符串转换为长整数 strtol
5.字念尘符串转换为无符号长整型 strtoul