高手们帮我看看这个简单程序!~

来源:百度知道 编辑:UC知道 时间:2024/06/25 19:23:01
#include<stdio.h>
#define F(x) x*x*0.1
int main()
{float i=2,
printf("F(x)=%5.2f\n",F(i+1));}
为什么结果是" 4.10呢?怎么分析的哟!~帮我写写!~

根据宏替换,
F(i+1)被置换成 i+1*i+1*0.1

根据运算符优先顺序计算的
2+1*2+0.1
4.1

由于打印格式是%5.2f,所以显示是4.10

同问,我算怎么得0.90?

i = 2
F(i+1) 扩张开为 2+1*2+1*0.1 = 4.1