有以下程序      #include <stdio.h>      #include <stdlib.h>      int fun(int n)     {int *p;        p=(int*)malloc(sizeof(int));     

admin2009-08-25  24

问题 有以下程序      #include <stdio.h>      #include <stdlib.h>      int fun(int n)     {int *p;        p=(int*)malloc(sizeof(int));        *p=n;   return *p;     }     {  int a;        a=fun(10); printf("%d\n",a+fun(10));     }    程序的运行结果是______。

选项 A、0
B、10
C、20
D、出错

答案C

解析 malloc(sizeof(int))的作用是开辟一个长度为sizeof(int)存储空间,并通过强制类型转换(int*)将此存储空间的地址赋给了—个整型的指针变量p。然后执行语句“*p=n”,使得*p的值为10,并通过返回此值,在主函数中输出a+10的值,即输出20。
转载请注明原文地址:https://kaotiyun.com/show/z9Wp777K
0

最新回复(0)