一道C语言的题.表达式 2+sqrt(16.0)/4 结果的数据类型是?

问题描述:

一道C语言的题.表达式 2+sqrt(16.0)/4 结果的数据类型是?
A.Double B.int C.char D.void

当一个二元操作符两侧的操作数属于不同类型时,将会把“较低等级”类型的操作数转换成“较高等级的”操作数所以这个式子中,除法的优先级高于加法,先算sqrt(16.0)/4.因为这里sqrt的参数是小数,所以返回值是double,相应...因为这里sqrt的参数是小数,所以返回值是double这句话是什么意思啊?为什么sqrt的返回值就是double ?不好意思我记错了,sqrt没有返回整形的,C标准库的原型就是double sqrt(double x),所以它的返回值就是double不过VC++的库里还有“long double sqrt(long double)”“float sqrt(float)”