首页/ 题库 / [单选题]有以下程序 main() { int a的答案

有以下程序 main() { int a[3][2]={0},(*ptr)[2],i,i; for(i=0; i<2; i++) { ptr=a+i; scanf("%d",ptr); ptr+++; } for(i=0;i<3;i++) { foil(j=0;j<2;j++) printf("%2d",a[i][j]); printf(" "); } 若运行时输入:1 2 3<回车>,则输出结果为

单选题
2022-03-02 17:55
A、产生错误信息
B、1 0 2 0 0 0
C、1 2 3 0 0 0
D、1 0 2 0 3 0
查看答案

正确答案
D

试题解析
解析:本题主要考查的是scanf()函数的输入原理。scanf()函数执行时,先从键盘缓冲区中读取用户输入的数据,若缓冲区为空或输入数据少于所需数据,则暂停程序等待用户的输入,直到用户敲入回车,scanf()将继续到键盘缓冲区中读取输入,如此反复直到满足scanf()函数所需数据,程序才继续执行下面的语句,而scanf()没有取完的数据仍然会保存在键盘缓冲区内,到程序结束时还没取完就会被释放掉,不会影响其他的程序运行。另外,scanf()函数将取到的数据匹配给第2个及其后面的指针参数所指的内存地址中去,而不检查该参数的类型是否匹配。所以在本题中考生不要被指针ptr的定义所迷惑,它所做的只不过是临时保存一下a+i的值,然后送到scanf()函数中去。题目首先定义了一个二维数组a[3][2]并用{0}初始化之,因为当所赋初值少于所定义数组的元素个数时,将自动给后面的元素朴以初值0,所以数组a[3][2]中所有的元素都被初始化为0了。在主程序的第一个for循环体中有三条语句,该循环体会被执行两次,每次执行时i的值分别为0和1。第1条语句让ptr的值分别为a+0(即元素a[0])[0])的地址)和a+1(即元素a[1][0]的地址);第2条语句是一条输入语句,它每次接受一个十进制整数存入到ptr所指的内存地址中,题目要求输入的数据为“123<回车>”,所以两次scanf()函数的调用使a[0][0]和a[1][0]分别被赋为1和2。笫3条语句让ptr自增1在这里没有起到任何作用,因为每次进入循环体ptr都会被重新赋值。最后,程序用一个两重循环按行列输出二维数组a中的所有元素。所以,选项B符合题意。

标签:
感兴趣题目
有以下程序#includemain(){ int b[3][3] = {0,1,2,0,1,2,0,1,2},i,j,t = 1; for(i = 0;i<3;i++)  for(j = i;j <= i;j++)t+=b[i][b[j][i]]; printf(%d,t);}程序运行后的输出结果是(  )。
有以下程序 main() { int a[3][2]={0},(*ptr)[2],i,i; for(i=0; i<2; i++) { ptr=a+i; scanf("%d",ptr); ptr+++; } for(i=0;i<3;i++) { foil(j=0;j<2;j++) printf("%2d",a[i][j]); printf(" "); } 若运行时输入:1 2 3<回车>,则输出结果为
有以下程序 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf("%d",m[k][i]); } } 执行后输出结果是()
有以下程序 int f(int a) { return a%2; } main() { int s[8]={1,3,5,2,4,6},i,d=0; for(i=0;f(s[i]);i++) d+=s[i]; printf("%d/n",d); } 程序运行后的输出结果是()
有以下程序:fun(int a[],int m,int n){int i;for(i=m;i<n;i++)a[i+1]=a[i]+3;return a[i+1];}void main(){int i,a[6]={2,4,6,8,10,12};fun(a,2,5);for(i=0;i<6;i++)printf("%d",a[i]);}程序运行后输出的结果是( )。A.24691315 B.24691215 C.249121518 D.249121415
以下程序的输出结果是()。 main() { int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d,",x[i][2-i]); }
有以下程序 main() { int x[3][2]={0},i; for(i=0;i,则输出结果为()
有以下程序main(){ int n[3],i,j; for(i=0;i<3;i++) n[i]=0; for(i=0;i<2;i++) for(j=0;j<2;j++) n[j]=n[i]+1; printf( "%d\n",n[1]);}程序运行后的输出结果是A.2 B.1C.0 D.3
有以下程序 #define N 20 fun(int a[],int n,:Int m) { int i,i; for(i=m; i>n; i--) a[i+1);a[i]; } main() { int i,a[N]={1,2,3,4,5,6,7,8,9,10}; fuu(a,2,9); for(i=0; i<5; i++) printf("%d",a[i]); } 程序运行后的输出结果是
有以下程序 main() { int n[3],i,j; for(i=0;i<3;i++)n[i]=0; for(i=0;i<2,i++) for(j=0;j<2;j++)n[j]=n[i]+1; printf("%d ",n[1]); } 程序运行后的输出结果是( )
有以下程序 #define N 20 fun(int a[],int n,int m) { int i,j; for(i=m;i>=n;i--) a[i+1]=a[i]; } main() { int i,a[N]={1,2,3,4,5,6,7,8,9,10}; fun(a,2,9); for(i=0;i<5;i++) printf("%d",a[i]); } 程序运行后的输出结果是——。
有以下程序: # define N 20 fun(int a[], int n, int m) { int i, j; for(i=m; i>=n; i--)a[i+1]=a[i]; } main() { int i, a[N]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; fun(a, 2, 9); for(i=0; i<5; i++)printf("% d", a[i]); } 程序运行后的输出结果是______。
相关题目
有以下程序: main() { int a[3][3],*p.i; p=&a[0][0]; for(i=0;i<9;i++)p[i]=i; for(i=0;i<3;i++)printf("%d",a[1][i]); } 程序运行后的输出结果是( )。
有以下程序: main() { int a[3][3],*P,i; p=&a[0][0]; for(i=0;i<9;i++)p[i]=i; for(i=0;i<3;i++)printf("%d",a[1][i]); } 程序运行后的输出结果是( )。
有以下程序 main() { int a[3][3],*p,i; p=&a[0][0]; for(j=0;i<9;i++)p[i]=i; for(i=0;i<3;i++)printf("%d",a[1][i]); } 程序运行后的输出结果是
有以下程序 main( ) { int a[ ][3]={{1,2,3},{4,5,0}},(*pa)[3],i; pa=a; for(i=0;i<3;i++) if(i<2) pa[1][i]=pa[1][i]-1; else pa[1][i]=1; printf("%d ",a[0][1]+a[1][1]+a[1][2]); } 执行后输出结果是
有以下程序 main() { int a[][3]={{1,2,3},{4,5,0}},(*pA) [3],i; pa=a; for(i=0;i<3;i++) if(i<2)Pa[1][i]=pa[1][i]-1; else pa[1][i]=1; printf("%d ",a[0][1]+a[1][1]+a[1][2]); } 执行后输出结果是
有以下程序 main() { int a[][3]=({1,2,3},{4,5,0}},(*pa) [3],i; pa=a; for(i=0;i<3;i++) if(i<2) pa[l][i]=pa[1] [i]-1; else pa[1][i]=1; printf("%d ".a[0][1]+a[1][1]+a[1][2]); } 执行后输出结果是
有以下程序: #include<stdio.h> main() {int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; for(i=0;i<12;i++)c[s[i]]++; for(i=1;i<5;i++)printf("%d",c[i]); printf(" "); } 程序的运行结果是( )。
有以下程序 #include <stdio.h> main() { int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; for(i=0;i<12;i++) c[s[i]]++; for(i=1;i<5;i++) printf("%d",c[i]); printf(" "); } 程序的运行结果是
有以下程序main( ){ int a[][3]={{1,2,3},{4,5,0}},(*pa) [3], i;pa=a;for(i=0;i<3;i+ +) if(i<2) pa[1][i] = pa[1][i]-1;else pa[1][i] = 1;cout<<a[0][1]+a[1][1]+a[1][2]<<end1;}执行后输出结果是
有以下程序: main() { int a[][3]={{1,2,3),{4,5,0)),(*pa)[3],i; pa=a; for(i=0;i<3;i++) if(i<2) pa[1][i]=pa[1][i]-1; else pa[1][i]=1; printf("%d ",a[0][1]+a[1] [1]+a[1] [2]); } 执行后输出结果是( )。
有以下程序: int f(int b[][4]) { int i, j, s=0; for(j=0; j<4; j++) { i=j; if(i>2)i=3-j; S+=b[i][j]; } return s; } main() { int a[4][4]={{1, 2, 3, 4}, {0, 2, 4, 6}, {3, 6, 9, 12}, {3, 2, 1, 0}}; printf("%d ", f(a)); } 执行后的输出结果是______。
有以下程序struct S{ int n; int a[20]; }; void f(int *a,int n) {int i; for(i=0;i a[i]+=i; } main() {int i; struct S s={10,{2,3,1,6,8,7,5,4,10,9}}; f(s.a, s.n); for(i=0;i printf(“%d”,s.a[i]); } 程序运行后的输出结果是( )。
有以下程序: main() { int aa[4][4]:{{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,S=0; for(i=0;i<4;i++) s+=aa[i][1]; printf("%d ",s); } 程序运行后的输出结果是( )。
有以下程序 main() { int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0; for(i=0;i<4;i++)s+=aa[i][1]; pdrintf(“%d ”,s); } 程序运行后的输出结果是
有以下程序: main( ) { int aa[4][4]={ {1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6} }; int i,s=0; for(i=0;i<4;i++) s+=aa[i][1]; printf("%d ",s); } 程序运行后的输出结果是
有以下程序 main() {int i,s=0,t[]={1,2,3,4,5,6,7,8,9 }; for(i=0;i<9;i+=2) s+=*(t+i); printf("%d ",s); }
有以下程序: int f(int b[][4]) { int i,j,s=0; for(j=0;i<4;i++) { i=j; if(i>2) i=3-j; s+=b[i][j]; } return s; } main() { int a[4][4]={{1,2,3,4,},{0,2,4,6},{3,6,9,12},{3,2,1,0}}; printf("%d ",f(a)); } 执行后的输出结果是( )。
以下程序的输出结果是( )。 int f(int A) { return a%2; } main {int s[8]={1,3,5,2,4,6},i,d=0; for(i=0;f(s[8]);i++)d+=s[i]; printf("%d\n",d); }
有以下程序,程序运行后的输出结果是______。 int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;i++) { i=j; if(i>2)i=3-j; s+=b[i][j]; } return s; } main() { int a[4][4]={{1,2,3,4},{0,2,4,6,},{3,6,9,12},{3,2,1,0}}; printf("%d ",f(A) ); }
有以下程序:#include main(){ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++)  for(j=i;j<=i;j++)t+=b[i][b[j][i]]; printf(%d,t);}程序运行后的输出结果是(  )。
广告位招租WX:84302438

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