标签:
如果是超出了int的范围,会溢出
如果超出了太多,报错
如果是一个小数,只会截取整数部分, 不会四舍五入
如果是一个double类型的小数,double→float
如果是一个int类型的整数,int→float
如果是一个float,float→double
如果是一个int,int→double
自动转换的顺序是: char → int → float → double
在接收输入的时候,scanf会把所有输入存在缓冲区,依次接收,而不会按照语句中的各个类型进行接收,尤其是数字型数据和字符行数据混合输入的时候,很容易把空格和回车存到字符变量中。
解决办法:
1.定义一个专门的字符串数组或者变量来接收多余的空格和回车
2.利用rewind(stdin);清空缓冲区
1 num1 = num1 + num2; 2 num2 = num1 - num2; 3 num1 = num1 - num2;
1 num1 = num1 ^ num2; 2 num2 = num1 ^ num2; 3 num1 = num1 ^ num2;
标签:
原文地址:http://www.cnblogs.com/SquirrelStock/p/5343402.html