类型装换
整型、实型和字符型数据之间可以混合运算。例如10+'a'+1.5-8765.1234*'b'
不同数据类型之间运算会进行自动类型转换
#include <stdio.h>
void main(){
char ch = 'A';
short sh = 10;
int i = 100;
float f1 = 100.0;
double db = 1000.00;
printf("%d,%d,%d,%d,%d,",sizeof(ch),sizeof(sh),sizeof(i),sizeof(f1),sizeof(db));
getchar();
}
结果为1,2,4,4,8
都是字节
float f =100.00;
printf("%d",f);
结果为0,从大转小,可能导致数据遗失
printf("%d",(int)f);是强制转换的格式(类型)表达式
小转大
char ch = 10 10没有带引号,输出就是换行,
printf("%c",ch);
unsigned short a = ch
printf("\n%u",a);
getchar();
10有引号时,就是取后面的0.如果换“01”,就取后面的1
当char ch = '10'
最后输出0的ASCII码值为48;
当char ch = '10'
最后输出0的ASCII码值为48;
当char ch = '01'
最后输出0的ASCII码值为49
两位数的数字交换
int num , i , j;
scanf("%d",&num);
i = num/10;
j = num%10;
num = 10*j+i;
printf("%d",num);