下面程序的输出结果是() main()      {int a〔 〕={1,2,3},s,b,*p;      S=l:     P=a:  for(b=0;b<3.b++)     s*=*(p+b);  printf(”s=%d\n”,s);}A、s=lB、s=2C、s=3D、s=6

题目

下面程序的输出结果是() main()      {int a〔 〕={1,2,3},s,b,*p;      S=l:     P=a:  for(b=0;b<3.b++)     s*=*(p+b);  printf(”s=%d\n”,s);}

  • A、s=l
  • B、s=2
  • C、s=3
  • D、s=6

相似考题
更多“下面程序的输出结果是() main()      {int a〔 〕={1,2,3},s,b,*p;      S=l:     P=a:  for(b=0;b3.b++)     s*=*(p+b);  printf(”s=%d\n”,s);}A、s=lB、s=2C、s=3D、s=6”相关问题
  • 第1题:

    下面程序的功能是输出数组s中最大元素的下标,请填空。

    main()

    { int k, p,s[]={1, -9, 7, 2, -10, 3};

    for(p =0, k =p; p< 6; p++)

    if(s[p]>s[k])【13】

    printf("%d\n", k);

    }


    正确答案:
    k=p;

  • 第2题:

    下面程序的功能是输出数组s中最小元素,请填空。 include void main(){int k, p, s[]=

    下面程序的功能是输出数组s中最小元素,请填空。

    include<iostream.h>

    void main(){

    int k, p, s[]={1,-9,7,2,-10,3};

    k=s[0];

    for(p=0;p<6;p++)

    if(s[p]<k) 【 】;

    cout<<k;

    }


    正确答案:k=s[p]
    k=s[p]

  • 第3题:

    设有如下程序: fun(float*p1,int n,float*p2,int m,float*s) {int i; *s=0.0; for(i=0;i<n;i++)*s+=*p1++; for(i=0;i<m;i++)*s+=*p2++; } main() { float a[]={1.1,2.2},b[]={1.0,2.0,3.0),*s=a; fun(a,2,b,3,s); printf("%f\n",*s); } 上面程序的输出结果是______。

    A.8.2

    B.9.3

    C.3.3

    D.1.1


    正确答案:A
    解析:实参指针变量s指向数组a的第一个元素,在函数fun中首先将s所指数组a的第一个元素赋值为0.0,然后将数组a和b中的元素值依次累加到数组a的第一个元素中。

  • 第4题:

    以下程序运行后,输出结果为______。 main() { int a[2][3]={1,3,5,7,9,11},*s[2],**pp,*p: s[0]=a[0],s[1]=a[1]; pp=s; p=(int*)malloc(sizeof(int)); **pp=s[1][1]; p=*pp; printf("%d\n",*p); }

    A.1

    B.7

    C.9

    D.11


    正确答案:C
    解析:s是一个含有两个元素的指针数组,pp是一个指向指针变量的指针,s[0]是指向二维数组a行下标为0的元素的首地址,即a[0][0]的地址,s[1]为a[1][0]的地址。pp的值为s[0]的地址。**pp=s[1][1]后,a[0][0]的值将被赋值为a[1][1]的值,执行p=*pp;后,p中将是s[0]的值,最后的输出语句将输出地址s[0]所指向的数据,即a[0][0]。

  • 第5题:

    以下程序运行后的输出结果是【 】。

    struct NODE

    {int num;struct NODE *next;

    };

    main()

    {struct NODE s[3]={{1,'\0'},{2,'\0'},{3,'0'}},*p,*q,*r;

    int sum=0;

    s[0].next=s+1;s[1].next=s+2;s[2].next=s;

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

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

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

    }


    正确答案:5
    5 解析:程序通过语句“s[0].next=s+1;s[1].next=s+2;s[2].next=s;”将结构体变量s中各结点链接成了一个循环链表,即最后一个结点的指针域指向了头结点(s[2].next=s;),整个链表形成一个环,并通过语句“p=s;q=p->next;r=q->next;”将结构体指针变量p、q、r指向了各结点,具体结构如下图:

    故本题输出的sum=3+2=5。

  • 第6题:

    下面程序的输出结果是______。includemain(){char*p1="abc",*p2="ABC",s[20]="xyz"; s

    下面程序的输出结果是______。 #include<string.h> main() { char*p1="abc",*p2="ABC",s[20]="xyz"; strcpy(s+1,p2); strcat(s+2,p1); printf("%s\n",s); }

    A.xABCabc

    B.zABCabc

    C.yzabcABC

    D.xyzABCabc


    正确答案:A
    解析:strcpy(s+1,p2)是字符串复制,s中的内容变为"xABC",strcat(s+2,p1)是字符串连接(s的内容已不是初始化的内容,而是复制之后的内容),结果为"xABCabc"。

  • 第7题:

    有以下程序includevoid fun(float* p1,int n1,float,*p2,int n2,float* s){ int i;s=(

    有以下程序 #include<stdio.h> void fun(float * p1,int n1,float,*p2,int n2,float * s) { int i; s=(float *)calloc(1,sizeof(float)); *s=0; for(i=0;i<n1;i++) *s+=*p1++; for(i=0;i<n2;i++) *s+=*p2++; } main() { float a[2]={1.1,2.2},b[3]={10.0,20.0,30.0),*s=a; fun(a,2,b,3,s); printf("%f\n",*s); } 上面程序的输出结果是( )

    A.60

    B.3.3

    C.63.3

    D.1.1


    正确答案:D

  • 第8题:

    下面程序运行后的输出结果是______。 struct abc { int a,b,c; } main() { struct abc s [2]={{1,2,3},{4,5,6}}; int t=-s[0].a+s[1].b; printf("%d\n",t); }

    A.5

    B.6

    C.7

    D.8


    正确答案:B
    解析:在main函数中定义了一个structabc类型的数组,同时分别利用{1,2,3}及(4,5,6}对数组中两个元素进行初始化。在该结构体,依次对其中的a,b,c三个变量进行初始化。故s[0].a=1,s[1].b=5,所以本题输出为6。

  • 第9题:

    下面程序的输出是______。 fun(char *s,int p1,int p2) { char c; while(p1<p2) { c=s[p1];s[p1]=s[p2];s[p2]=c;p1++;p2--;} } main() { char a[]="ABCDEFG",k,*p; fun(a,0,2);fun(a,4,6); printf("%s\n ",a); }

    A.ABCDEFG

    B.DEFGABC

    C.GFEDCBA

    D.CBADGFE


    正确答案:D
    解析:本题主要通过while循环对满足条件的元素进行交换。

  • 第10题:

    以下程序运行后,输出结果是()includess(char*s){char*p=s; while(*p)p++ return(p-s);

    以下程序运行后,输出结果是( ) #include<stdio.h> ss(char *s) { char*p=s; while(*p) p++ return(p-s); } main() { char *a="abded" int i; i=ss(a) ; printf("%d\n",i); }

    A.8

    B.7

    C.6

    D.5


    正确答案:D

  • 第11题:

    以下程序运行后的输出结果是______。 ss(char*s) { char*p=s; while(*p)p++; return(p-s); } main() { char*a="abded";int i; i=ss(a); printf("%d\n",i); }

    A.8

    B.7

    C.6

    D.5


    正确答案:D

  • 第12题:

    单选题
    有以下程序:#include main(){  char *s[6]={ABCD,EFGH,IJKL,MNOP,QRST,UVWX},**p; int i; p=s;  for(i=0;i<4;i++)printf(%s,p[i]); printf();}程序运行后的输出结果是(  )。
    A

    ABCDEFGHIJKLMNOP

    B

    ABCDEFGHHKL

    C

    ABCD

    D

    AEIM


    正确答案: D
    解析:
    程序定义数组指针s以及指针的指针p,p指向数组指针s。p[i]为s的第i行字符串,因此程序输出s的前四行字符串。答案选择A选项。

  • 第13题:

    有以下程序 main( ) { char *s[ ]={"one","two","three"},*p; p=s[1]; printf("%c,%s\n",*(p+1),s[0]); } 执行后输出结果是

    A.n,two

    B.t,one

    C.w,one

    D.o,two


    正确答案:C
    解析:p首先指向s中的第二个字符串(p=s[1])的起始位置,其中输出语句printf的功能是输出p所指向的后一个字符,及数组元素s[0]。

  • 第14题:

    下列程序的输出结果是______。 includef(char 8s){char *p=s;while(*p!='\0')p++;retur

    下列程序的输出结果是______。# include<stdio.h>f(char 8s){ char *p=s; while(*p!='\0')p++; return(p-s);}main(){ printf("%d\n",f("ABCDEF"));}

    A.3

    B.6

    C.8

    D.0


    正确答案:B

  • 第15题:

    下列程序的输出结果是()。includestruct abc{int a, b, c, s;};main(){struct abc s[2]

    下列程序的输出结果是( )。 #include <stdio.h> struct abc { int a, b, c, s;}; main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d\n",t); }

    A.5

    B.6

    C.7

    D.8


    正确答案:B
    解析:在本题中,s[0].a=1,s[1].b=5,所以输出结果为6。

  • 第16题:

    以下程序的输出结果是main(){ char s[]="abcdef"; s[3]=’\0’; printf("%s\n",s);}


    正确答案:abc
    printf函数输出字符串时,当遇到第一个“\0”时,就把它当做字符串的结束标志,它只输出“\0”前面的字符,所以程序输出结果为abc。

  • 第17题:

    下面程序的运行结果是( )。 include main() {int a,s,n,m; a=2;s=0;n=1;m=1; while(m<=4

    下面程序的运行结果是( )。 include<stdio.h> main() {int a,s,n,m; a=2;s=0;n=1;m=1; while(m<=4){n=n*a;s=s+n;++m;} printf("s=%d",s); }


    正确答案:s=30
    s=30 解析:分析循环条件“m=1,m=4”,所以循环4次。第1次:n=n*a=2,s=s+n=2;m=2。第2次:n=n*a=4,s=s+n=6;m=3。第3次:n=n*a=8,s=s+n=14;m=4。第4次:n=n*a=16,s=s+n=30。

  • 第18题:

    请读程序: includef(char * s){cahr * p=s;while(* p!='\0')p++;return(p-s);}main(){

    请读程序: # include<stdio.h> f(char * s) {cahr * p=s; while(* p!='\0')p++; return(p-s); } main() {printf("%d\n”,f("ABCDEF"));} 上面程序的输出结果是 ( )

    A.3

    B.6

    C.8

    D.0


    正确答案:B

  • 第19题:

    下面程序的功能是输出数组s中最大元素的下标,请填空。main(){ int k, p,s[]={1, -9, 7, 2, -10, 3}; for(p =0, k =p; p< 6; p++) if(s[p]>s[k]) ; printf("%d\n", k);}


    正确答案:k=p
    在本题中,题目给出了程序段的功能是输出数组s中最大元素的下标。要输出最大元素的下标,肯定需要先找出最大的元素。
    在程序中,首先定义两个整型变量k和p,然后定义了一个一维数组s并初始化。接着执行for循环,循环变量的初值为0,且循环结束的条件为循环变量小于6,即数组s元素的个数,每循环一次,循环变量自加1,循环体中,首先是条件判断语句if(s[p]>s[k]),根据上面对题目的分析可知,要找出最大元素的下标,需先找出最大元素,而条件语句刚好是对两个元素进行比较,两个元素的下标分别为p和k,变量p是循环变量,用来取数组中的各个元素。从程序最后的输出语句可以看出,变量k中保存的是最大元素的下标,那么s[k]中保存的肯定就是最大的元素。如果条件结果为真,说明取到的当前数组元素值大于当前最大值,那么需要使s[k]表示s[p]值,对比这两种差别可以知道,空缺处需要填写的内容是k=p。

  • 第20题:

    下列程序中,正确的为______。

    A.main() { int *pb=&b; float 1>=15.25; print f("%d\n" ,*pb); }

    B.amin() { int a,*pa; a=10; *pa=a; prinffC%d",*pa); }

    C.main() { char s[20]; char *ps=&s; scanf("%s",*p); printf("%s",*p); }

    D.main() { char str[10]; int *ps=str[0]; str="abcdefg"; printf("%s",*p); }


    正确答案:B

  • 第21题:

    下面程序的输出结果是( )。 char s()="ABCD",*p; main() { for(p=s;p<s+4;p++)printf("%s\n",p); )

    A.ABCD BCD CD D

    B.A B C D

    C.D C B A

    D.ABCD ABC AB A


    正确答案:A
    解析:p为指针型变量。第一次循环,p=s,p的值为字符数组s的首地址,输出字符串"ABCD"。p++,第二次循环,p的值为字符数组s的首地址加1,输出字符串"BCD"。p++,第三次循环,p的值为字符数组s的首地址加2,输出字符串"CD"。p++,第4次循环,p的值为字符数组s的首地址加3,输出字符串'D"。

  • 第22题:

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

    有以下程序: 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[i]>p->a[j]) {t=P->a[i];p->a[i]=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[i]);} 程序运行后的输出结果是( )。

    A.3

    B.4

    C.5

    D.6


    正确答案:A
    解析:在主函数main()中定义了一个整型变量i和一个结构体变量s。f()函数中,定义了一个结构体指针类型的指针p,外层循环变量i表示数组的第i个元素,内层循环j表示数组的第i+1个元素,调用f()函数,通过指针变量p来引用结构体成员,并把它们进行从小到大排序,最后输出。

  • 第23题:

    单选题
    下面程序的输出结果是() main()      {int a〔 〕={1,2,3},s,b,*p;      S=l:     P=a:  for(b=0;b<3.b++)     s*=*(p+b);  printf(”s=%d\n”,s);}
    A

    s=l

    B

    s=2

    C

    s=3

    D

    s=6


    正确答案: A
    解析: 暂无解析