int 和 char 类型的转换
char 转 int
代码都很简单,主要是想呈现那个效果
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main() {
printf("======char 转 int测试=====\n");
char c = '7';
int a = c - '0';//减去'0'
printf("转换前c=%c\n", c);
printf("转换后a=%d", a);
return 0;
}
结果:
int 转 char
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main() {
printf("======int 转 char测试=====\n");
int a = 7;
char c = a + '0';
printf("转换前a=%d\n",a);
printf("转换后c=%c",c);
return 0;
}
结果:
既然都看到这里了,再来两个:
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main() {
printf("======char 转 int测试=====\n");
char c = '3';
int a = c - '0';
int b = c - '1';
int d = c - '2';
int e = c - '3';
int f = c - '4';
int g = c - '5';
printf("c=%c\n", c);
printf("a=%d\n", a);
printf("b=%d\n", b);
printf("d=%d\n", d);
printf("e=%d\n", e);
printf("f=%d\n", f);
printf("g=%d\n", g);
return 0;
}
结果:
可以看到,f和g分别为-1和-2,这个转换还蛮“聪明的”
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main() {
printf("======int 转 char测试=====\n");
int a = 7;
char c = a + '0';
char b = a + '1';
char d = a + '2';
char e = a + '3';
char f = a + '4';
printf("a=%d\n", a);
printf("c=%c\n", c);
printf("b=%c\n",b);
printf("d=%c\n", d);
printf("e=%c\n", e);
printf("f=%c\n", f);
return 0;
}
结果:
看到这里,可能对e和f的取值有点困惑,查阅ASCII码,我们可以发现:
大家直接看第三列,在9之后便就是:和;,也蛮“聪明哒”,转换到谁就按照谁的“标准”来