1. | 阅读以下程序并填空 void f(int *p); int main () { int a[5]={1,2,3,4,5},*r=a; f(r); printf("%d",*r); return 0; } void f(int *p) { p=p+3; printf("%d,",*p); } 输入结果为: 【 正确答案: 4,1】 | |
---|---|---|
2. | 阅读以下程序并填空 void Swap(double *p1,double *p2) { double temp; temp= *p1; *p1=*p2; *p2=temp; } int main () { double a=3.52,b=5.45; Swap(&a,&b); printf("%1.2f,%1.2f\n",a,b); return 0; } 【 正确答案: 5.45,3.52】 | |
3. | 已有定义:double *p;,请写出完整的语句,利用 malloc 函数使 p 指向一个双精度型的 动态存储单元 【 正确答案: p=(double *)malloc(sizeof(double))】 | |
4. | 有下列程序段: typedef struct NODE { int num;struct NODE *next; } OLD; OLD是一个 【 正确答案: 结构体类型】。 | |
5. | 若下函数是返回参数的地址,请你补全代码 int *max(int x, int y) { if (x > y) return 【 正确答案: &x】; else return 【 正确答案: &y】; } | |
6. | 设有如下定义语句 int m[]={2,4,6,8,10},*k=m; 表达式*(k+2)的值为 【 正确答案: 6】 | |
7. | 阅读下面程,并给出正确输出 #include <stdio.h> int main() { char *p="This is CTBU"; int n=8; p=p+n; printf("%s\n",p); return 0; } 【 正确答案: CTBU】 | |
8. | 阅读下面程序并写出输出结果 #include <stdio.h> void func1(int x,int y) { int t; t=x; x=y; y=t; } void func2(int *p1,int *p2) { int t; t=*p1; *p1=*p2; *p2=t; } int main() { int x=3,y=5; int*p1,*p2; p1=&x; p2=&y; func1(x,y); printf("%d,%d\n",x,y); func2(p1,p2); printf("%d,%d\n",x,y); return 0; } 【 正确答案: 3,5】 【 正确答案: 5,3】 | |
9. | 都下面的程序,写出程序的输出结果。 #include <stdio.h> void exchange(int x,int *y) { int t; t=x; x=*y; *y=t; } int main () { int a=3,b=5; int *p=&b; exchange(a,&b); printf("%d,%d",a,b); return 0; } 程序运行的结果为:( 【 正确答案: 3,3】) |
指针基础(填空题)
最新推荐文章于 2024-06-21 17:14:10 发布