C语言字符转换成整形的方法是什么?
转换有两种方法:
第一种用“atoi”的:
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
void main()
{
char str[1024] = {0};
int Interger;
printf("输入一个数字:\n");
scanf("%s", str);
Interger = atoi(str);
printf("转换为整形:%d\n", Interger);
getch();
}
第二种:
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
void main()
{
char str[1024] = {0};
int Interger;
printf("输入一个数字:\n");
scanf("%s", str);
sscanf(str, "%d", &Interger);
printf("转换为整形:%d\n", Interger);
getch();
}
两种方法:一种是使用使用atoi函数。第二种是使用格式化输出。
atoi函数:函数原型:int atoi(const char *nptr);
参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零。
附上代码:#include "stdio.h"#include "stdlib.h"#include "conio.h"void main(){char str[1024] = {0};int Interger;printf("输入一个数字:\n");scanf("%s", str);sscanf(str, "%d", &Interger);printf("转换为整形:%d\n", Interger);getch();}2012-12-17
printf("%d\n",i-'0');
用i的asic码减去字符0的asic码就是它所表示的数字啦
给你个例子:
#include<stdio.h>
#include<stdlib.h>
int main()
{
char * ptr="123abc";
int a=::atoi(ptr);
::printf("%d",&a);
::getchar();
::getchar();
}
用字符串函数比较简单,方法如下:
字符符型转换整形用强制转换就行, char c='B' ;int a ;a = (int)c ; 如果是字符'0'到‘9’转成0-9char c='8' ;int a ;a =(int) (c - '0') ; 如果是字串转数字,用atoi , atol
字符串与整型的转换,itoa 整型转字符串atoi 字符串转整型char *itoa( int value, char *str, int radix );int atoi( const char *str );
字符型-48=整型给你个程序 运行一下一看就明白main(){char a; a=1;
printf("a=1时\n"); printf("整型 : %d\n",a); printf("字符型: %c\n",a); a='1';
printf("a='1'时\n"); printf("整型 : %d\n",a); printf("字符型: %c\n",a); a='1'-48;
printf("a='1'-48时\n"); printf("整型 : %d\n",a); printf("字符型: %c\n",a);