c语言中如何将字符串转化成整数型并输出?
如上,现在遇到一点问题,定义一个char类型的变量比如是number,然后number扫描文件的结果是1234,但是这个结果并不能直接转化成int类型的整数,现在我想要用...
如上,现在遇到一点问题,定义一个char类型的变量比如是number,然后number扫描文件的结果是1234,但是这个结果并不能直接转化成int类型的整数,现在我想要用一个简单的方法把number转化成int型,那么该如何操作?还有,如果是一个数组的话,用printf输出的时候有没有办法不管位数直接一次性输出的?感激不尽
展开
7个回答
2013-09-04
展开全部
number 必定是字符数组
char number[5]="1234"; //字符 1,2,3,4 的ASCII值分别是81,82,83,84 所以减去‘0’(80)
int i,j=0,k=1;
for(i=0;number[i];i++)
number[i]-='0';
i--;
for(;i>=0;i--)
{
j+=number[i]*k;
k*=10;
}
printf("%d",j); //这样就转换成数字1234了
用printf输出的话 字符数组中存放的是字符串可以直接全部输出
其他的数组就只有一个个的输出了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 sscanf。
char s[20]="1234 5678";
int number,n2;
sscanf(s,"%d %d",&number,&n2);
printf("number is: %d and number2 is: %d\n",number, n2);
========
数组,用循环语句输出:
int numbers[10]={111,22,3333,4444,5,66,77,8888,99,10};
int i;
for (i=0;i<10;i++) printf("%d ",numbers[i]);
char s[20]="1234 5678";
int number,n2;
sscanf(s,"%d %d",&number,&n2);
printf("number is: %d and number2 is: %d\n",number, n2);
========
数组,用循环语句输出:
int numbers[10]={111,22,3333,4444,5,66,77,8888,99,10};
int i;
for (i=0;i<10;i++) printf("%d ",numbers[i]);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在C语言中将字符串转化成整型有两种方法。
1 用atoi函数。
atoi的功能就是将字符串转为整型并返回。其声明为
int atoi(char *str);
比如atoi("1234");会返回整型1234。
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。
1 用atoi函数。
atoi的功能就是将字符串转为整型并返回。其声明为
int atoi(char *str);
比如atoi("1234");会返回整型1234。
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。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char a[10];
int s=0,i=0;
while(a[i])
{
s=s*10+a[i]-48;
i++;
}
int s=0,i=0;
while(a[i])
{
s=s*10+a[i]-48;
i++;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询