第23题: [单项选择]若有如下程序: float sub(int a,int b) return(a*b); main( ) int i=1,j=2,k=3; printf("%4.0f/n",sub((int)sub(k+j,j),k+i));
则程序运行后的输出结果是( )。 A. 40 B. 32 C. 16.0 D. 编译出错 参考答案:A 答案解析:[解析] 因为函数sub()只是简单地返回两个参数的乘积,所以表达式sub((int)sub(k+j,j),k+i)展开后就是:(int)((k+j) *j)*(k+i)=((3+2)*2)*(3+1