
正文
c语言中字符转数值函数 c语言字符转数字函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言中实现输入一个数字字符,然后转换成整数数字输出.怎么做?
字符串转整数可以有两种方法:
1.使用c语言自带的库函数:atoi。
函数原型:int atoi(const char *nptr);
功能:把字符串转成整型数。
例如:
#include stdlib.h
#include stdio.h
int main(void)
{
int n;
char *str = "12345";
n = atoi(str);
printf("int=%d\n",n);
return 0;
}
/*
输出:
int = 12345
*/
2.可以自己编写一个转换函数:
#include stdio.h
#include stdlib.h
int atoi(char *s)
{
int t=0;
while(*s){
t=t*10+*s-'0';
s++;
}
return(t);
}
int main ()
{
char a[]="12345";
int n = atoi(a);
printf("n=%d ",n);
return 0;
}
/*
输出:
n = 12345
*/
相关问答
Q1: 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;
}
Q2: 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语言字符转数字函数、c语言中字符转数值函数的信息别忘了在本站进行查找喔。





