一个C语言选择题 很急
来源:百度知道 编辑:UC知道 时间:2024/06/07 16:59:05
#define P 3
#define F(int x){return (P*x*x);}
main()
{
printf("%d\n",F(3+5));
}
程序运行后的输出结果是
A 192
B 29
C 25
D 编译出错
答案是编译出错 为什么呢
#define F(int x){return (P*x*x);}
main()
{
printf("%d\n",F(3+5));
}
程序运行后的输出结果是
A 192
B 29
C 25
D 编译出错
答案是编译出错 为什么呢
宏定义#define F(int x){return (P*x*x);}有错,宏只是字符串替换,这个define不伦不类,把#define改成int就成函数定义了
#define P 3
#include <stdio.h>
int F(int x){return (P*x*x);}
void main()
{
printf("%d\n",F(3+5));
}
结果192
如果用宏:
#define P 3
#define F(x) (P*x*x)
#include <stdio.h>
void main()
{
printf("%d\n",F(3+5));
}
结果29
#define P 3
#define F(x) (P*x*x)
#include <stdio.h>
void main()
{
printf("%d\n",F(3+5));
}
结果29
#define P 3
#define F(x) (P*x*x)
#include <stdio.h>
void main()
{
printf("%d\n",F((3+5)));
}
结果 192
因为计算机不知道P是从哪里来的饿
你没有定义
而且参数里没有传输
这个好像是出错了··F(3+5)这里可能出现了问题,因为C语言,和数学才不多·,你这个没有运算的·所以可能就是这里的问题