一道程序题算不出啊#define P 3int F(int x){ return(P*x*x);}main(){printf("%d\n",F(3+5));}我只算到29,但答案是192,怎么算的呢?不是应该 3*3+5*3+5=29吗?为什么要加括号呢

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 07:46:32

一道程序题算不出啊#define P 3int F(int x){ return(P*x*x);}main(){printf("%d\n",F(3+5));}我只算到29,但答案是192,怎么算的呢?不是应该 3*3+5*3+5=29吗?为什么要加括号呢
一道程序题算不出啊
#define P 3
int F(int x)
{ return(P*x*x);
}
main()
{printf("%d\n",F(3+5));
}
我只算到29,但答案是192,怎么算的呢?
不是应该 3*3+5*3+5=29吗?为什么要加括号呢

一道程序题算不出啊#define P 3int F(int x){ return(P*x*x);}main(){printf("%d\n",F(3+5));}我只算到29,但答案是192,怎么算的呢?不是应该 3*3+5*3+5=29吗?为什么要加括号呢
main 函数前面是定义了一个函数 整个程序从主函数main进入 主函数里面的意思是说让你输出 F(3+5) 也就是F(8) 那么F(8) 的算法是需要带入上面的一开始定义的函数里面的 它说的是定义了 P是3 有F(x)的话 就返回 P乘以X乘以X 所以很简单 这里面X是8 所以也就是 3*8*8 = 192
括号里面的数字是一个整体套入到F函数里面的 所以必须这么算 不能把括号拆开

下列程序运行结果为:#define P 3 #define S(a) P*a*a main() {int ar; ar=S(3+5); printf( %d,ar); } 一道程序题算不出啊#define P 3int F(int x){ return(P*x*x);}main(){printf(%d ,F(3+5));}我只算到29,但答案是192,怎么算的呢?不是应该 3*3+5*3+5=29吗?为什么要加括号呢 (35) 有以下程序#define P 3#define F(int x) { return (P*x*x);}main(){printf(%d ,F(3+5));}程序运行后的输出结果是A)192 B)29 C)25 D)编译出错为什么是D能讲下为什么吗? #include #include #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #d能不能帮改下程序 下面的程序结果是什么?怎么算?急求答案# include # define M 3# define N M+1# define NN N*N/2void main(){ printf(%d ,NN); printf(%d ,5*NN);} #define P 3 #define S(a) P*a*a main() {int ar; ar=s(3+5) printf( %d,ar) } 这个答案是29,不懂. 下面这个程序哪里有语法问题#include #define N 10void sele(int*p){int i,j,t;for(i=0;i 3.设有以下程序:、#include #define S(X) X*Xvoid main(void){int k=2;cout #define s(x) 3 #define S(x) 3 #define 写出下列程序段的输出结果.#define A 10 #define B (A 问一道程序题 ,int a[ ]={1,2,3,4,5,6},*p=a;表达式( * ++p)++的值是,为什么是2?过程是什么〉 #define P 3 void F(int x){return(P*x*x);} main() {printf(%d ,F(3+5));} 括号匹配检验程序#include#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0typedef char SElemType;typedef int Status;#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef struct{SElemType *base;SElemType *top;int stacksize; 若有定义∶# define P(x) x * x *x+1和说明语句:int a=2;则表达式P(2)的值是( )具体说说程序正义运行, 这个程序为什么运行不了呢.int main(){ int r;#define P 3.1415;printf(请输入一个半径r );scanf(%d,&r);printf(圆的周长为%-.2fl,2*P*r);return 0;} 对下面程序段:#define A 3 #define B(a) ((A+1)*a) x=3*(A十B(7)); 正确的判断是( )A.程序错误,不许嵌套宏定义B.)x=93C.x=21D.程序错误,宏定义不许有参数