有如下程序#include "stdio.h"void fun(int *a,int *b){ int m; m=(*a+*b)*(*a+*b); m+=(*a-*b

16 查阅

有如下程序#include "stdio.h"void fun(int *a,int *b){ int m; m=(*a+*b)*(*a+*b); m+=(*a-*b)*(*a-*b); printf("%d\n",m);}main(){ int a=5,b=6,*x=&a,*y=&b; fun(x,y);}程序执行后输出的结果为A.120 B.121 C.122 D.123

参考答案:

C在本题程序中,首先定义了一个fun函数,函数带有两个指针变量的形参,在程序体中,定义一个整型变量m用来保存计算的结果,然后执行第一条运算语句,并将运算结果保存至变量m,然后执行第二条运算语句,最后输出程序m的值。在主函数中,首先定义两个整型变量a和b,并分别赋值为5和6,定义两个指针变量x和y,分别指向变量a和b。然后调用函数fun,调用函数传递的参数为x和y,因此,执行m=(*a+*b)*(*a+*b)=(5+6)*(5+6)=121,然后执行m+=(*a-*b)*(*a-*b)等价于m=m+(-1)

计算机二级