有以下程序: struct S{int n;int a[20];}; void f(struct S*P) { int i,j,t; for(i=0;i<P->n-1;i++) for(j=j+1;j<P->n-1;j++)

admin2013-06-11  26

问题 有以下程序:    struct S{int n;int a[20];};    void f(struct S*P)    {  int i,j,t;    for(i=0;i<P->n-1;i++)    for(j=j+1;j<P->n-1;j++)    if(p->a>p->a[j])    {t=P->a;p->a=P->a[j];p->a[j]=t}    }    main()    {int i;struct S s{10,{2,3,1,6,8,7,5,4,10,9}};    f(&s);    for(i=0;i<s.n;i++)printf("%d",s.a);}    程序运行后的输出结果是(       )。

选项 A、3
B、4
C、5
D、6

答案A

解析 在主函数main()中定义了一个整型变量i和一个结构体变量s。f()函数中,定义了一个结构体指针类型的指针p,外层循环变量i表示数组的第i个元素,内层循环j表示数组的第i+1个元素,调用f()函数,通过指针变量p来引用结构体成员,并把它们进行从小到大排序,最后输出。
转载请注明原文地址:https://kaotiyun.com/show/8NJp777K
0

最新回复(0)