2010-04-08
C语言只有整型数的运算出的结果是整型的吗?a,b都是整型,比如sqrt(a) a/b
C语言中,表达式值的类型与操作数和操作符都有关系。一般的,如+、-、*、/ 等运算,其结果的类型取决于操作数中较大的那个类型:
int a;
double b;
表达式a + b的结果就是double型。
int c;
c = a + b;
变量c是int型,它是把a + b的结果转换为int型,然后存入变量c。
而有些运算符,如 %,对操作数的类型有要求,运算结果的值也是确定的。
你提到的sqrt()函数,它的参数和返回值都是double型,所以sqrt(a)会把a值转换为double型,最终返回值是double型。全部
C语言中,表达式值的类型与操作数和操作符都有关系。一般的,如+、-、*、/ 等运算,其结果的类型取决于操作数中较大的那个类型:
int a;
double b;
表达式a + b的结果就是double型。
int c;
c = a + b;
变量c是int型,它是把a + b的结果转换为int型,然后存入变量c。
而有些运算符,如 %,对操作数的类型有要求,运算结果的值也是确定的。
你提到的sqrt()函数,它的参数和返回值都是double型,所以sqrt(a)会把a值转换为double型,最终返回值是double型。收起