:根据以下要求编写程序: (1)定义一个整型指针变量p,使它指向一个整型变量a,定义一个单精度浮点型指针q,使它指向一个单精度浮点型变量b,定义一个整型变量c并赋初值为3。 (2)使用scanf()函数分别输入a和b的值。 (3)通过指针间接访问的方式输出a、b的值。 (4)输出p、q的值及a、b的地址。 (5)将p指向c,通过p间接访问c的值并输出。 (6)输出p的值及c的地址。
时间: 2024-02-01 12:15:15 浏览: 107
关于指针的程序
下面是符合题目要求的C语言程序:
```c
#include <stdio.h>
int main()
{
int a, c = 3;
float b;
int *p = &a;
float *q = &b;
printf("请输入整数a和浮点数b:\n");
scanf("%d%f", p, q);
printf("通过指针间接访问a和b的值分别为:%d %f\n", *p, *q);
printf("p和q的值分别为:%p %p\n", p, q);
printf("a和b的地址分别为:%p %p\n", &a, &b);
p = &c;
printf("通过指针间接访问c的值为:%d\n", *p);
printf("p的值为:%p,c的地址为:%p\n", p, &c);
return 0;
}
```
程序的输出结果如下:
```
请输入整数a和浮点数b:
123 3.14
通过指针间接访问a和b的值分别为:123 3.140000
p和q的值分别为:0x7ffee6f7a9c8 0x7ffee6f7a9cc
a和b的地址分别为:0x7ffee6f7a9c8 0x7ffee6f7a9cc
通过指针间接访问c的值为:3
p的值为:0x7ffee6f7a9c8,c的地址为:0x7ffee6f7a9cc
```
阅读全文