首页/ 题库 / [单选题]有如下定义struct person {的答案

有如下定义struct person {char name[9];int age;};struct person class[10]={"John",17,"paul",19,"Mary",18,"Adam",16,};根据上述定义,能输出字母M的语句是

单选题
2022-07-12 01:00
A、printf("%c\n",class[3].name);
B、printf("%c\n",class[3].name[1]);
C、printf("%c\n",class[2].name[1]);
D、printf("%c\n",class[2].name[0));
查看答案

正确答案
D

试题解析
解析:这是一个给结构体数组赋初值的问题。它的赋初值过程与上述二维数组赋初值很相似。只是这里的大括号中的初始值没有按行给出(也即没有用大括号分开来),在这种情况下,初始值将按数组的各个元素在内存中的存放次序逐个逐个地赋给各元素。现在结构体数组的各个元素在内存中的存放次序是这样的:class[0].name,class[0].age,class[1].name,class[1].age…,由此可以知道,包含字母‘M’的字符串"Mary"赋值给了元素class[2].name,则与字符‘M’先相对应的表达式是class[2].name[0]。

标签:
感兴趣题目
根据下列的定义,能打印出字母P的语句是( )。 struct stu {char name[10]; int age; }; struct sm s[10]={"John",11, "Pau1",12, "Mary",11, "adam",12 };
根据下列的定义,能打印出字母P的语句是( )。 struct stu { char name[10]; iht age; }; struct stu s[10]={"John",11, "Paul", 12, "Mary", 11, "adam",12 };
设有以下语句: struct SS { int no; char name[10];}PERSON; 则下面叙述中错误的是 ( )
有如下定义struct person {char name[9];int age;};struct person class[10]={"John",17,"paul",19,"Mary",18,"Adam",16,};根据上述定义,能输出字母M的语句是
有如下定义: struct person {char name[9];int age;}; struct person class[10]={"John",17,"paul",19,"Mary",18,"Adam",16}; 根据上述定义,能输出字母M的语句是( )。
有如下定义struct person{char name[9];int age;};struct person class[10]={"John",17,"paul",19,"Mary",18,"Adam",16,};根据上述定义,能输出字母M的语句是
有以下说明和定义语句 struct student { int age; char num[8];}; struct student stu[3]={{20,"200401"},{21,"200402"},(19,"200403"}}; struct student*p=stu; 以下选项中引用结构体变量成员的表达式错误的是______。
有以下说明和定义语句struct student{ int age;char num {8};};struct student stu[3]={{20,“200401”},{21,“200402”),{19,“200403”}};struct student *p=stu; 以下选项中引用结构体变量成员的表达式错误的是
有以下说明和定义语句:struct student{int age; char num[8] ;};struct student stu [3] = { { 20, "200401" } , {21, "200402" } , {19, "200403" } };stract student * p = stu;以下选项中引用结构体变量成员的表达错误的是( )。
有以下说明和定义语句 struct student { int age;char num[8]; struct student stu[3]={{20,"200401"},{21,"200402"},{19,"200403"}}; struct student *p=stu;}; 以下选项中引用结构体变量成员的表达式错误的是
有以下说明和定义语句 struct student {int age;char num[8]; }; struct student stu[3]={{20,"200401"},{21,"200402"},{109,"200403"}}; struct student*p=stu;以下选项中引用结构体变量成员的表达式错误的是______。
若有以下定义的语句 struct student {int age; int num;}; struct student stu[3]={{1001,20},{1002,19},{1003,21}}; main() {stmct student *p; p=stu; …} 则以下不正确的引用是
相关题目
定义以下结构体数组:

struct st

{ char name[15];

  int age;

}a[10]={"ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17};

执行语句printf("%d,%c"a[2].age,*(a[3].name+2)))的输出结果为(  )。

在16位IBM-PC机上使用C语言,若有如下定义: struct data{int i;char ch;double f;}b; 则结构变量b占用内存的字节数是( ).
设有如下定义,下面输入语句中,( )错误。struct ss { char name[10];int age;char sex;}std[3],p=std;
设有以下结构体定义:struct emproyer{char name[8];int age;char sex;}staff;则下面的叙述不正确的是( )
有如下定义:struct person{char name[9]; int age;};struct person class[10]={“Johu”, 17,“Paul”, 19,“Mary”, 18,“Adam 16,};根据上述定义,能输出字母M的语句是 ( )
设struct{char name[10];int age;}stu[2]={{ ″Tom″,25},{″Mary″,26}},p=stu;则执行语句printf(″%s%d\n″,p->name,stu[1]age);后输出结果是( )
已知学生记录描述为: struct student { int no; char name[20],sex; struct { int year,month,day; } birth; }; struct student s; 设变量s中的“生日”是“1984年11月12日”,对“birth”正确赋值的程序段是( )。
某C语言结构体的定义如下。 struct date { int year, month, day; }; struct worklist { char name[20]; char sex; struct date birthday; }person; 若对变量person的出生年份进行赋值,正确的赋值语句是(33)。
有以下程序 #include <string.h> struct STU { char name[10]; int num; }; void f(char *name, int num) { struct STU s[2]={{"SunDan",20044},{"Penghua",20045}}; num=s[0].num; strcpy(name,s[0].name); } main() { struct STU s[2]={{"YangSan",20041},{"LiSiGuo",20042}},*p; p=&s[1]; f(p->name,p->num); printf("%s %d ",p->name,p->num); } 程序运行后的输出结果是
有以下程序: #include <string.h> struct STU (char name[10]; int num; }; void f(char *name, int num) {struct STU s[2]={{"SunDan",20044}.{"Penghua",20045}}; num=s[0].num; strcpy(name,s[0].name); } main() {struct STU s[2]={{"YangSall",20041},{"LiSiGao",20042}},*p;p=&s[1]; f(p->name,p->num); printf("%s%d ",p->name,p->num); } 程序运行后的输出结果是 ______。
有以下程序:#include <stdio.h>#include <strine.h> struct STU { char name[10]; int hum;};void f(char * name,iht num){ struct STU s[2] = {{ "SunDan" ,20044} , {" Penghua" ,20045}}; num= s[0]. nnm; strepy(name,s[0], name);}main( ){ struct STU s[2] = {{"YangSan" ,20041 }, { "LiSiGao" ,20042}}, * P; p = &s[1]; f(p->name,p->hum); printf("% s %d " ,p-> name,p->num);}程序运行后的输出结果是( )。
定义下列结构体(联合)数组: struct st { char name[15]; int age; }a[10]={"ZHAO",14, "WANG",15, "LIU",16, "ZHANG",17 }; 执行语句printf["%d,%c",a[2].age, *(a[3].name+2))的输出结果为( )。
定义下列结构体(联合)数组: struct St { char name[15]; int age; }a[10]={"ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17}; 执行语句printf("%d,%c",a[2].age,*(a[3].name+2))的输出结果为( )。
定义下列结构体(联合)数组:struct st{ char name[15]; int age;}a[10]={"ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17};执行语句printf("%d,%c",a[2].age,*(a[3].name+2))的输出结果为( )。
定义下列结构体(联合)数组:struct st{ char name[15];int age;}a[10]={"ZHA0",14,"WANG",15,"LIU",16," ZHANG",17);执行语句printf("%d,%C",a[2].age,*(a[3].name+ 2))的输出结果为( )。
有以下程序: #include<stdio.h> struct stu { int num;char name[l0];int age;}; void fun(struct stu*p) { printf("%s ",p->name);} main( ) { struct stu x[3]={{01,"Zhang",20),{02,"Wang",l9},{03,"Zha0",l8}}; fun(x+2); } 程序运行后的输出结果是( )。
以下程序的输出结果是______。#include<stdio.h>struct stu{ int num; char name[10]; int age;};void fun(struct stu*p){ printf("%s ",(*p).name);}main(){ struct stu students[3]={ {9801,"Zhang",20}, { 9802,"Wang",19}, { 9803,"Zhao",18} }; fun(students+2);}
有以下程序: #include<<stdio.h> struct stu { int num; char name[10]: int age;} void fun(struct stu*p) {printf("%s\n",(*p).name);} the main { struct stu students[3]={{9801,"Zhang".20}, {9802,"Wang",19},{9803,"Zhao",1 8}} fun(students+2); } 输出的结果是( )。
已知学生记录描述为 struct student { int no; char name[20]; char sex; struct { int year; int month; int day; } birth; }; struct student s;变量s中的“生日”应是“1985年4月4日”,下列对“生日”的正确赋值方式是______。
有以下定义和语句:
struct workers   
{int num;char name[20];char C;
 struct
 {int day;int month;int year;)S;
};
struct workers w,*pw;
pw=&w;
能给w中year成员赋1980的语句是(  )。
广告位招租WX:84302438

免费的网站请分享给朋友吧