有以下程序: include struct STU {int num; float TotalScore;有以下程序: #include <strino.h> struct STU {int num; float TotalScore; }; void f(struct STU p) {struct STU s[2]={{20044,550},{20045,537}}; p.num=s[1].num;p.TotalScore=s[1].TotalScore; } main() {struct STU s

题目
有以下程序: include struct STU {int num; float TotalScore;

有以下程序: #include <strino.h> struct STU {int num; float TotalScore; }; void f(struct STU p) {struct STU s[2]={{20044,550},{20045,537}}; p.num=s[1].num;p.TotalScore=s[1].TotalScore; } main() {struct STU s[2]={{20041,703},{20042,580}}; f(s[0]); printf("%d%3.0t\n",s[0].num,s[0].TotalScore); } 程序运行后的输出结果是 ______。

A.20045 537

B.20044 550

C.20042 580

D.20041 703


相似考题
更多“有以下程序: #include <strino.h> struct STU {int num; float TotalScore; ”相关问题
  • 第1题:

    有以下程序:include include struet STU{ int nam;float TotalSeore;};v

    有以下程序:#include <stdio, h>#include <string, h>struet STU{ int nam; float TotalSeore;};void f( strnct STU p){ struct STU s[2] = { {20044,550} ,{20045,537} }; p.num = s [1]. num; p.TotalScore = s [1]. TotalScore;main( ){ struct STU s[2] = {{20041,703} ,{20042,580}}; f(s[0] ); printf( "%d %3.Of\n" ,s[0].num,s[0].TotalSeore); }程序运行后的输出结果是( )。

    A.20045 537

    B.20044 550

    C.20042 580

    D.20041 703


    正确答案:D
    解析:函数f中定义了结构体类型的变量P作为形参,在main函数中,将结构体变量s[0]中的值传给了形参变量P,在函数f中,虽然改变了p中的内容,但其改变对main函数中s[0]的值不产生影响,所以main函数中输出s[0]的数据仍然是main函数中初始化时的数据。

  • 第2题:

    若能使程序运行后的输出结果如下: 201501 201502 201503 则空白处填写的表达式或语句应该是 #include <stdio.h> struct student { int age; char num[8]; }; int main() { struct student stu[3]={{20,"201501"},{21,"201502"},{19,"201503"}}; struct student *p=stu; ____________________ return 0; }

    A.printf("%sn",(*p).num); printf("%sn",(p)->num); printf("%sn",stu[2].num);

    B.printf("%sn",(p++).num); printf("%sn",(p++).num); printf("%sn",(p++).num);

    C.printf("%sn",(p)->num); printf("%sn",(p)->num); printf("%sn",(*p).num);

    D.printf("%sn",stu[0]->num); printf("%sn",stu[1]->num); printf("%sn",stu[2]->num);


    5,11

  • 第3题:

    6、若能使程序运行后的输出结果如下: 201501 201502 201503 则空白处填写的表达式或语句应该是#include <stdio.h> struct student { int age; char num[8]; }; int main() { struct student stu[3]={{20,"201501"},{21,"201502"},{19,"201503"}}; struct student *p=stu; ____________________ return 0; }

    A.printf("%s\n",(*p).num); printf("%s\n",(p)->num); printf("%s\n",stu[2].num);

    B.printf("%s\n",(p++).num); printf("%s\n",(p++).num); printf("%s\n",(p++).num);

    C.printf("%s\n",(p)->num); printf("%s\n",(p)->num); printf("%s\n",(*p).num);

    D.printf("%s\n",stu[0]->num); printf("%s\n",stu[1]->num); p


    I will win

  • 第4题:

    有以下程序: include struct NODE{int nurn;struct NODE *next; }; main() { struct

    有以下程序:

    #include <stdlib.h>

    struct NODE{

    int nurn;

    struct NODE *next;

    };

    main()

    { struct NODE *p,*q,*r;

    int sum=0;

    P=(struct NODE*)malloc(sizeof(struct NODE));

    q=(struct NODE*)malloc(sizeof(struct NODE));

    r=(struct NODE*)malloc(sizeof(struct NODE));

    p->num=1;q->num=2;r->num=3;

    p->next=q;q->next=r;r->next=NULL;

    sum+=q->next->num;sum+=p->num;

    Printf("%d\n",sum);

    }

    执行后的输出结果是( )。

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:本题中定义了一个结点structNODE,在主函数中定义了三个结点变量指针p、q和r,接着通过malloc函数分配了三个结点并让p、q和r分别指向他们,再接着给p、q和r所指向的结点的num域赋值为1、2、3,然后让结点p指向小让q指向r,r指向NULL。显然q->next->num的值为指针r所指向结点的num域的值为3,p->num的值为指针p所指向结点的num域的值为1,故最后输出s的值为3+1=4。所以,4个选项中选项B符合题意。

  • 第5题:

    7、若能使程序运行后的输出结果如下: 201501 201502 201503 则空白处填写的表达式或语句应该是 #include <stdio.h> struct student { int age; char num[8]; }; int main() { struct student stu[3]={{20,"201501"},{21,"201502"},{19,"201503"}}; struct student *p=stu; ____________________ return 0; }

    A.printf("%s\n",(*p).num); printf("%s\n",(p)->num); printf("%s\n",stu[2].num);

    B.printf("%s\n",(p++).num); printf("%s\n",(p++).num); printf("%s\n",(p++).num);

    C.printf("%s\n",(p)->num); printf("%s\n",(p)->num); printf("%s\n",(*p).num);

    D.printf("%s\n",stu[0]->num); printf("%s\n",stu[1]->num); p


    2