字符型和整型的关系

1.字符型和整型的关系:

字符型和整型在c中大部分情况下都是可以通用的。
因为字符型在电脑中的存储就是其ASCII码,关键是看如何输出。
如:
‘0’ 在电脑中存储的数值为48;
例如: char a=0;如果以%c输出,输出结果就是0;
如果以%d输出,输出结果就是48;
同理:int a=48;如果以%c输出,输出结果就是0;
如果以%d输出,输出结果就是48

2.字符型和整型的运算:

两者进行运算以ASCLL进行运算,并且以数字的形式存储在电脑中,也是看如何输出。


using namespace std;
#include <bits/stdc++.h>

int main()
{
   printf("a是int型:\n");
   int a=48;
   printf("a=%d(int)\n",a);
   printf("a=%c(char)\n\n",a);

   printf("b是char型:\n");
   char b='0';
   printf("b=%d(int)\n",b);
   printf("b=%c(char)\n\n",b);

   printf("c是字符型:\n");
   int c='1';//1的ASCLL是49
   printf("3+c=%d(int)\n",3+c);
   printf("3+c=%c(char)\n",3+c);


    return 0;
}

运行结果:
在这里插入图片描述

3.把字符串转换为整型

将字符串字面上的数值转换为真正的整型,需要用 字符-‘0’ 来表示实际的整型值。
字符-‘0’是ASCLL的运算,转换为真正意义上的数字。

char s[]="123";
   int s0=0;
   for(int i=0;i<strlen(s);i++)
   {
       s0*=10;//放前面比较好
       s0=s0+(s[i]-'0');
   }
   printf("%d",s0);

运行:
在这里插入图片描述

4.c提供封装好的函数atoi:

如:atoi(“123”)=123;
(1)其声明为:
int atoi(char *str);
(2)工作过程:
函数会扫描参数 str字符串,会跳过前面的空白字符(例如空格,tab缩进)等。如果 str不能转换成 int 或者 str为空字符串,那么将返回 0 [1] ;
(3)特别注意,该函数要求被转换的字符串是按十进制数理解的。atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1

char s[]="123";
 printf("atoi=%d\n",atoi(s));
    printf("%d",atoi("123"));

在这里插入图片描述

今天的分享就到这里啦!
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值