有以下程序#include "stdio.h"void fun(int *a,int *b){ int c=20,d=20; *a=c/3; b=d/5;}main(){

13 查阅

有以下程序#include "stdio.h"void fun(int *a,int *b){ int c=20,d=20; *a=c/3; b=d/5;}main(){ int a=3,b=5; fun(&a,&b); printf("%d,%d\n",a,b);}程序的运行结果是A.6,5 B.5,6C.20,25 D.3,5

参考答案:

A在本题中,首先定义了一个fun函数,函数中用两个指针变量作为形参,在函数体中,定义了两个整型变量,然后做除法运算,并试图将结果保存到形参中,语句“*a=c/3;”中由于变量c与3都是整型,其运算结果也应该为整型,运算过程中舍去小数部分,得到计算结果为6,并保存到指针变量a指向的存储单元中;语句“b=d/5;”同样是整数运算,其运算结果为4,但很明显,赋值的方法不正确,不能改变指针变量b指向单元的值。在主函数中,定义了两个整型变量,并分别赋初值,然后调用fun函数,由于函数的形参是指针变量,采用的传值方式

计算机二级