简答题
👁️ 浏览量:

试题题干

#include<stdio.h>
struct country
{
    int no;
    char name[20];
}a[]={1,"China",2,"Russia",3,"America"},*p=a;
void main()
{
     p++;
     printf("%d,%s",(*p).no,(*p).name);
     p--;
     printf("%d\n,%s",p->no,p->name);
     printf("%d,%s\n",a[2].no,a[2].name);

参考答案

试题解析

*p=a是指针变量p指向一维数a,p++是先引用再加1,即指针变量p的值为1,故执行输出语句输出的是a[1].no,a[1].name的值2,Russia;

p--是先引用再减1,即指针变量p的值为0,故执行输出语句输出的是a[0].no,a[0].name的值1,China;

最后输出是a[2].no,a[2].name的值,即输出的是3,America。