计算机二级

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

题目

设有以下程序段: 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。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有以下程序段 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

第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题:

设有下列的程序段: 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]的值。

第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],*(ptt+10)是引用str[10]的值(即结束符'\0')。

第5题:

设有下列的程序段:

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]的值。

第6题:

设有下列的程序段: char str[]="Hello World"; 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]的值。

第7题:

设有以下程序段

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


正确答案:C
【答案】C
【知识点】结构体成员变量的引用
【解析】结构体变量包括一个或多个成员变量,引用其成员变量的语法格式如下:
结构体变量. 成员变量。通过结构体指针变量获得其结构体变量的成员变量的一般形式为:(*结构体指针变量). 成员变量,也可以使用:结构体指针变量-> 成员变量来引用成员变量。

第8题:

设有下列程序段: char str[]="HelloWorld": char* plr; 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]的值。

第9题:

设有以下程序段:

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。