请教C程序题

来源:百度知道 编辑:UC知道 时间:2024/05/22 04:19:35
?? #define P 3
??void F(int x){return(P*x*x);}
??main()
??{printf("%d\n",F(3+5));}
??程序运行后的输出结果是什么?
答案是编译出错,为什么呢?

因为函数void F(int x){return (P*x*x);}
的类型是void(即无返回值),而你给它返回了一个整形,类型不匹配就出错是了。
改成
int F(int x){return (P*x*x);}

函数F是void的,怎么能有return返回

F不是让输入整型么,为什么要输入算式呢?系统不会计算吧,
如果F(5) 结果是75?
F(8)结果是192?

long F(int x){return(P*x*x);}
函数定义有返回值,不能用void