英雄无敌5启蒙学:后天考c语言,可是复习时候碰到一些困难,请问大家帮忙解答!急9

来源:百度文库 编辑:高校问答 时间:2024/05/02 11:41:37
(35)有以下程序
?? #define P 3
??void F(int x){return(P*x*x);}
??main()
??{printf("%d\n",F(3+5));}
??程序运行后的输出结果是__d____。
??A)192 B)29 C)25 D)编译出错
告诉我下这个程序讲的什么啊?我看不懂

答案是D:
定义 P为全局变量值为3;
void F(int x){return(P*x*x);}
///////////////////////
函数的定义形式是 返回值类型 函数名 (形参表){函数体}
void 是无返回值的,就是说在函数体里面没有return语句。
如果一个函数被申明为void类型那么在该函数体里出现了return语句就会报错.
/////////////////////////
printf("%d\n",F(3+5));
这一句是输出。括号里的F(3+5)是对F函数的调用。
如果这个程序想要看到结果的话改成:
#define P 3
??int F(int x){return(P*x*x);}
??main()
??{printf("%d\n",F(3+5));}
结果为:192

你这个程序有错误啊,既然是void型了,为什么还有返回值呢?
楼上解释得不错!