参考答案和解析
正确答案:C
【答案】C
【知识点】结构体成员变量的引用
【解析】结构体变量包括一个或多个成员变量,引用其成员变量的语法格式如下:
结构体变量. 成员变量。通过结构体指针变量获得其结构体变量的成员变量的一般形式为:(*结构体指针变量). 成员变量,也可以使用:结构体指针变量-> 成员变量来引用成员变量。
更多“设有以下程序段struct MP3{ char name[20]; char color, float price; } std,*ptr;ptr=&st ”相关问题
  • 第1题:

    设有如下的程序段: char str[]="HelloWorld"; char*ptr; ptr=str; 执行上面的程序段后,*(ptr+10)的值为( )。

    A.'\0'

    B.'0'

    C.不确定的值

    D.'0'的地址


    正确答案:A
    解析:本题涉及字符数组和指针两个知识点:①在C语言中,字符数组在存放字符串时会自动在末尾加上'\0',所以题中数组str有11个元素;②ptr指向数组str的首地址,ptr+10是指向str[10],*(ptt+10)是引用str[10]的值(即结束符'\0')。

  • 第2题:

    设有如下的程序段: char str[]="Hello"; char *ptr; ptr=str; 执行完上面的程序段后,*(ptr+5)的值为( )。

    A.'o'

    B.'\0'

    C.不确定的值

    D.'o'的地址


    正确答案:B
    解析:本题考查字符数组的结束标志。ptr=str是将串str的首地址赋给了指针变量ptr,所以ptr+5指向字符串str的第六个数组元素,即是串的隐含结束标志'\0',*(ptr+5)='\0',最后的结果为'\0'。

  • 第3题:

    设有以下程序段 struct MP3 { char name[20]; char color; float price; }std,*ptr; ptr=&std; 若要引用结构体变量std中的color成员,写法错误的是()。

    A.std.color

    B.ptr->color

    C.std->color

    D.(*ptr) .color


    std->color

  • 第4题:

    设有下列的程序段: char str[]="HelloWorld"; char*ptr; ptr==str; 执行上面的程序段后,*(ptr+10)的值为( )。

    A.'\0'

    B.'0'

    C.不确定的值

    D.'0'的地址


    正确答案:A
    解析:本题涉及字符数组和指针两个知识点:①在C语言中,字符型数组在存放字符串时会自动在末尾加上'\0',所以题中数组str有11个元素;②ptr指向数组str的首地址,ptr+10是指向str[10],*(ptr+10)是引用str[10]的值。

  • 第5题:

    设有以下程序段: struct MP3 { char name[20]; char color; float price; }std,*ptr; ptr=&std: 若要引用结构体变量std中的color成员,写法错误的是( )。

    A.std.color

    B.ptr->color

    C.std->color

    D.(*ptr)color


    正确答案:A
    本题中要引用结构体变量std中的color,要使用指针,而std.color不是一个指针类型,所以答案选择A。