对于以下代码段:int a[] = {1,2,3,4,5,}; int *p = a; int *q = a[5]; printf("%d", q-p); 当sizeof(int)为4时,以下说法正确的是:A.因为第三行的错误不能编译B.因为第三行的错误运行时崩溃C.输出5D.输出20

对于以下代码段:int a[] = {1,2,3,4,5,}; int *p = a; int *q = &a[5]; printf("%d", q-p); 当sizeof(int)为4时,以下说法正确的是:

A.因为第三行的错误不能编译

B.因为第三行的错误运行时崩溃

C.输出5

D.输出20


参考答案和解析
A

相关考题:

以下程序的输出结果是 【 11 】 。#include stdio.hvoid swap(int *a,int *b){ int *t;t=a; a=b; b=t;}main(){ int i=3,j=5,*p=i,*q=j;swap(p,q); printf("%d %d\n",*p,*q);}

有以下程序#include stdio.h#include stdlib.hint fun(int n){ int *p;p=(int*)malloc(sizeof(int));*p=n; return *p;}main(){ int a;a = fun(10); printf("%d\n",a+fun(10));}程序的运行结果是A)0B)10C)20D) 出错

下述程序的输出结果是()。includevoid main(){int a[5]={1,2,3,4,5};int *p=a,**q=p 下述程序的输出结果是( )。 #include<stdio.h> void main() {int a[5]={1,2,3,4,5}; int *p=a,**q=&p; printf("%d,",*(p++)); printf("%d",**q);}A.2,2B.1,1C.3,4D.1,2

以下程序的输出结果是 【11】 。int fun(int x,int y,int *p,int *q){ *p=x*y;*q=x/y;}main(){int a,b,c,d;a=4;b=3;fun(a,b,c,d);printf("%d,%d\n",c,d);}

以下对指针变量的操作中,不正确的是()。 A.int p, *q; q=B.int *p, *q; q=p=NULL;C.int a=5, *p; *p=a;D.int a=5, *p= *p=*q;"

以下程序运行后,输出结果是______。 fut(int**s,int p[2][3]) {**s=p[1][1];} main() { int a[2][3]={1,3,5,7,9,11}, *p; p=(int*) malloc (sizeof(int)); fut(p,a); printf("% d\n",*p); }A.1B.7C.9D.11

有以下程序: #includestdio.h #includestdlio.h void fun(int*pl,int*p2,int*s) { s=(int*)malloc(sizeof(int)); *s=*pl+*p2; free(s); } main( ) { int a=1,b=40,*q=&a; fun(a,b,q); printf("%d\n",*q); } 程序运行后的输出结果是( )。A.42B.0C.1D.41

以下程序的输出结果是______。include void swap(int *a, int *b){ int *t;}{ int i=3,j 以下程序的输出结果是______。include <stdio.h>void swap(int *a, int *b){ int *t;}{ int i=3,j=5,*p=i,*q=j;swap(p,q); printf("%d %d\n",*p,*q);

有以下程序 include void fun(int*a,int*B) { int*c; c=a;a=b;b=c; } main() {int x=3 有以下程序 #include<stdio.h> void fun(int*a,int*B) { int*c; c=a;a=b;b=c; } main() { int x=3, y=5,*p=x, *q=y; fun(p,q); printf("%d,%d,",*p,*q); fun(x,y); printf(" %d,%d\n",*p,*q); } 程序运行后的输出结果是______。A.3,5,5,3B.3,5,3,5C.5,3,3,5D.5,3,5,3

有以下程序includevoid f(int *p,int *q);main(){ int m=1,n=2,*r=m;f(r, n 有以下程序 #include<stdio.h> void f(int *p,int *q); main() { int m=1,n=2,*r=m; f(r, n); printf("%d,%d",m,n); } void f(int*p,int*q) {p=p+1; *q=*q+1;) 程序运行后的输出结果是______。A.1,3B.2,3C.1,4D.1,2

有以下程序includestdio.hint*f(int*p,int*q);main( ){int m=1,n=2,*r=m;r=f(r,stdio.hint*f(int*p,int*q);main( ){int m=1,n=2,*r=m;r=f(r,n);printf(”%d\n”,*r);}int-f(int*P,int*q)(return(*p*q)?p:q;)程序运行后的输出结果是______。

若指针p已正确定义,要使p指向两个连续的整型动态存储单元,则正确语句是( )A.p=2 *(int *)malloc(sizeof(int));B.p=(int*)calloc(2*sizeof(int));C.p=(int*)malloc(2* sizeof(int));D.p=2 *(int*)calloc(sizeof(int));

以下程序的输出结果是______。 fun(int**p,int a[2][3]) {**p=a[1][2]; } main() { int a[2][3]=}1,3,5,7,9,11},*p; p=(int*)malloc(sizeof(int)); fun(p,a) ; printf("%d\n",*p); }A.9B.7C.1D.11

以下程序的输出结果是includeint a[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){p=(int*)ma 以下程序的输出结果是 #include<stdio.h> int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main() { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d\n",*p); free(p);} f(int *s, int p[][3]) { *s=p[1][1];}A.1B.4C.7D.5

有以下程序 include include int fun(int n) {int * 有以下程序 #include <stdio.h> #include <stdlib.h> int fun(int n) {int *p; p=(int*)malloc(sizeof(int)); *p=n; return *p; } { int a; a=fun(10); printf("%d\n",a+fun(10)); } 程序的运行结果是______。A.0B.10C.20D.出错

以下程序运行后,输出结果是 ( ) fut(int * * s,int p[2][3]) { * * s=p[1][1];} main( ) { int a [2] [3]= {1, 3, 5, 7, 9, 11}, * p; p=(int * )malloc (sizeof(int)); fut(p,a); printf("%d\n",* p); }A.1B.7C.9D.11

以下程序的输出结果是#includestdio.hint a[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){ p=(int*)malloc(sizeof(int));f(p,a);printf("%d\n",*p);free(p); }f(int *s, int p[][3]){ *s=p[1][1];}A.1B.4C.7D.5

以下( )代码,能够对数组正确初始化(或者是默认初始化)。A、int[]a;B、a={1,2,3,4,5};C、int[]a=newint[5]{1,2,3,4,5};D、int[]a=newint[5];

有以下程序:includevoid fun(int* s,int* * d){* *d=*(s+2);}main(){ inta[]={1,2,3, 有以下程序: #include <stdlib.h> void fun(int * s,int * * d) { * *d=*(s+2); } main() { int a[]={1,2,3,4,5},*b; b=(int *)malloc(sizeof(int)); fun(a,B) ; printf("%d\n",*b+1); } 程序的输出结果是( )A.2B.3C.4D.5

以下程序的输出结果是______。 fun(int **s,int p[2][3]) { **s=p[1][1]; } main() { int a[2][3]={1,3,5,7,9,11},*p; p=(int *)malloc(sizeof(int)); fun(p,a); printf("%d\n",*p); }A.1B.7C.9D.11

以下程序的输出结果是( )。 include void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main 以下程序的输出结果是( )。 include<stdio.h> void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main() {int i=3,j=5,*p=i,*q=j; swap(p,q);printf("%d %d\n",*p,*q); }

以下()代码,能够对数组正确初始化(或者是默认初始化)。A、int[ ] a;B、a={1,2,3,4,5};C、int[ ] a=new int[5]{1,2,3,4,5};D、int [ ] a=new int[5];

以下的数组定义语句中,不正确的是()A、 int[] a=new int[5]{1,2,3,4,5};B、 int[,] a=new int[3][4];C、 int[][] a=new int[3][];D、 int[] a={1,2,3,4,5};

单选题以下选项中,不能对主函数中变量i和j的值进行交换的程序是(  )。A#include stdio.hvoid swap(int *p, int *q){ int *t; *t = *p; *p = *q; *q = *t;}main(){ int i=10, j=20,*a=i,*b=j; swap(a,b); printf(i=%d j=%d,i,j);}B#include stdio.hvoid swap(int *p, int *q){ int t; t = *p; *p = *q; *q = t;}main(){ int i=10,j=20,*a=i,*b=j; swap(a,b); printf(i=%d j=%d,i,j);}C#include stdio.h#include stdlib.hvoid swap(int *p, int *q){ int *t; t = (int *)malloc(sizeof(int)); *t = *p; *p = *q; *q = *t; free(t);}main(){ int i=10,j=20; swap(i,j); printf(i=%d j=%d,i,j);}D#include stdio.hvoid swap( int *p, int *q){ int t; t = *p; *p = *q; *q = t;}main(){ int i=10,j=20,*x=i,*y=j; swap(x,y); printf(i=%d j=%d,i,j);}

单选题有以下程序:#include #include void fun(int **s, int x[2][3]){ **s =*(x[1]+1);}void main(){ int a[2][3]={1,2,3,4,5,6},*p; p = (int *)malloc(sizeof(int)); fun(p,a); printf("%d",*p);}程序的运行结果是(  )。A5B2C6D3

单选题有以下程序:#include #include void fun(int*p1,int*p2,int*s){ s=(int*)malloc(sizeof(int)); *s=*p1+*p2; free(s);}main(){ int a=1,b=40,*q=a; fun(a,b,q); printf(%d,*q);}程序运行后的输出结果是(  )。A42B0C1D41

单选题以下的数组定义语句中,不正确的是()A int[] a=new int[5]{1,2,3,4,5};B int[,] a=new int[3][4];C int[][] a=new int[3][];D int[] a={1,2,3,4,5};

单选题有以下程序段int*p;p=______malloc(sizeof(int));若要求使p指向一个int型的动态存储单元,在横线处应填入的是(  )。AintB(int*)Cint*D(*int)