C语言字符转换成整形。

就是比如 char i=‘1’;
可以把这个1转换成数字1吗,不是换成49,是换成1. 可以吗???

转换有两种方法:

  第一种用“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();
  }
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-17
在c标准库头文件<stdlib.h>中有一系列的字符串跟数值转换函数。

给你个例子:

#include<stdio.h>
#include<stdlib.h>
int main()
{
char * ptr="123abc";
int a=::atoi(ptr);
::printf("%d",&a);
::getchar();
::getchar();
}
第2个回答  推荐于2017-10-09
char i='1' 利用asic码转换
printf("%d\n",i-'0');
用i的asic码减去字符0的asic码就是它所表示的数字啦本回答被提问者采纳
相似回答