18.正确答案是 C.*p 和 s[0]相等。
指针变量 p 被赋值为数组 s 的首地址,即 p 指向了 s 数组的第一个元素。因此,*p 就是 s[0],它们的值相等。
A 选项不正确,因为 s 是字符数组,而 p 是字符型指针变量,它们存储的方式不同。
B 选项不正确,因为指针变量 p 存储的是数组 s 的首地址,而不是数组 s 中的内容。
D 选项不正确,因为数组 s 的长度是 6(包括字符串结束符 \0),而指针变量 p 所指向的字符串长度是 5。
19.正确答案是 A.改变文件的位置指针。
fseek 函数可以用来改变文件的位置指针,从而实现对文件的随机读写操作。该函数的原型如下:
```c
int fseek(FILE *stream, long int offset, int whence);
```
其中,stream 是文件指针;offset 是偏移量;whence 是起始位置。通过调整这三个参数的值,就可以实现对文件位置指针的移动。