概述
字符型(char)如何转成整数型(int)
我是一个新手,这也是我第一次写博客,相信很多人应该和我一样,在刚开始接触c语言的时候,不知道应该怎么办,但是学习的方法就是不停的看书,然后每天都写一下代码,不一定要写得多,哪怕写一个程序也可以,最起码要保持对代码的敏感度。
思维导入
当我们在acm上写题的时候,经常会碰到输入一串数字,然后对这串数字进行相应的操作,首先printf输入肯定是不行的,因为他要我们输入的数字结束的时候没有任何的结束语,而且我们事先也不知道应该输入几个数字,所以这是我们就需要gets(str)函数,str表示数组名,因为我们用了gets函数,所以我们知道数组的大小了,但是我们输入的数字在字符型(char)数组中是单个的,并不是相连的数字在同一个地址的,就像125,他是第0的位置是1,第1的位置是2,,这样子的,所以我们还需要转化,即判断这几个数字之间是不是有空格,是不是表示的是一个数,我们可以把空格作为判定条件,但是如果是连续的话,我们还需要给他进位。以下就是代码。
//以下仅是相关代码的展示
#include<stdio.h>
#include<string.h>
const int N=1e5+5;
int main()
{
char a[N];
int length,b[N],count,p=0;
//b是用来存数据的,count是用来表示b数组的下标
gets(a);
length=strlen(a);
a[length]=' ';
//用来表示结束的条件
for(int i=0;i<=length;i++)
{
if(a[i]!=' ' && a[i+1]!=' ') //表示下一位还有数,例如125
{
//p*10表示再次进位,如125第一次a[0]=1,p=10,第二次a[1]=2,p就要为120了,所以p要先*10
p=p*10+(a[i]-48)*10;
}
else if(a[i]!=' ')
//此时表示他下一位是空格
{
p+=a[i]-48;
}
else
{
b[count]=p;
count++;
p=0;
//切记每次带入的时候要令p为零,不然上一个数会持续带入
}
}
for(int i=0;i<count;i++)
printf("%dn",b[i]);
return 0;
}
最后
以上就是天真洋葱为你收集整理的字符型(char)如何转成整数型(int)字符型(char)如何转成整数型(int)的全部内容,希望文章能够帮你解决字符型(char)如何转成整数型(int)字符型(char)如何转成整数型(int)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复