A)(仕兰微面试题目)
#i nclude
void testf(int*p)
{
*p+=1;
}
main()
{
int *n,m[2];
n=m;
m[0]=1;
m[1]=8;
testf(n);
printf("Data v alue is %d ",*n);
}
------------------------------
B)
#i nclude
void testf(int**p)
{
*p+=1;
}
main()
{int *n,m[2];
n=m;
m[0]=1;
m[1]=8;
testf(&n);
printf(Data v alue is %d",*n);
}
下面的结果是程序A还是程序B的?
Data v alue is 8
那么另一段程序的结果是什么?
第1题:
该程序运行的结果是( )。
#include
#include
#define M 100
void fun(int m, int *a, int *n)
{ int i,j=0;
for(i=1;i<=m;i++)
if(i%7==0||i==0)
a[j++]=i;
*n=j;}
main()
{ int aa[M],n,k;
clrscr();
fun(10,aa,&n);
for(k=0;k
if((k+1) ==0)printf("\n");
else printf("M",aa[k]);
printf("\n");}
第2题:
下列程序的输出结果是 #include"stdio.h" #define N 3 #define M 3 void fun(int a[M][N]) { printf("%d\n",*(a[1]+2));} main() { int a[M][N]; int i,j; for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j); fun(a);}
A.3
B.4
C.5
D.6
第3题:
下面程序的运行结果是 : 【 1 0 】 。
fun(int t[],int n)
{ int i,m;
if(n==1)return t[0];
else
if(n>=2){m=fun(t,n-1); return m; }
}
main()
{ int a[]={11,4,6,3,8,2,3,5,9,2};
printf(" % d\n",fun(a,10));
}
第4题:
有以下程序: # 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]); } 程序运行后的输出结果是______。
A.10234
B.12344
C.12334
D.12234
第5题:
下列给定程序中,函数fun()的功能是:给一维数组a输入任意4个整数,并按如下的规律输出。例如输入1,2,3,4,程序运行后输出以下方阵:
4 1 2 3
3 4 1 2
2 3 4 1
1 2 3 4
请改正程序中的错误,使它能得出正确的结果。
注意;不要改动main 函数,不得增行或删行,也不得更改程序的结构。
试题程序;
include <stdio.h>
define M 4
/*******************************/
void fun(int a)
{int i,j,k,m;
printf("Enter 4 number: ");
for (i=0; i<M; i++) scanf ("%d", &a [i] );
printf ("\n\n The result : \n\n ");
for (i=M; i>0; i--)
{ k=a [M-1];
for (j=M-1; j>0; j--)
/**********************************/
a[j]=a[j+1];
a[0]=k;
for (m=0 ;m<M; m++ ) printf ("%d ", a [m]);
printf ("\n ");
}
}
main ()
{int a [M];
fun(a); printf("\n\n ");
}
第6题:
给定程序MODllC中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。
inClude<coMo.h>
inClude<stdio.h>
dehne M 5
/************fOUnd************/
int fun(int n,int xx[][])
{int i,j,sum=0;
printf("\n The%dx%d matrix:\n"M,M);
for(i=0;i<M;i++)
{ for(j=0;j<M;j++)
/************found************/
printf("%f",xx[i][j]);
printf("\n");
}
for(i=0;i<n;i++)
sum+=xx[i][i]+XX[i][[n-i-1];
return(sum);
}
main( )
{int aa[M][M]={{1,2,3,4,5),{4,3,2,1,0),
{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};
clrscr( );
printf("\n The sum Of all elements On 2 diagnals is %d."fun(M,aa));
}
第7题:
有以下程序 #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]); } 程序运行后的输出结果是
A.10234
B.12344
C.12334
D.12234
第8题:
有以下程序:#define N 20fun(int a[],int n,int m){ int i; for(i=m;i>n;i--)a[i+1]=a[i]; return m;}void main(){ int i,a[N]={1,2,3,4,5,6,7,8,9,10}; fun(a,0,N/2); for(i=0;i<5;i++)printf("%d",a[i]);}程序运行后的输出结果是( )。A.10234 B.12344 C.12334 D.12234
第9题:
以下程序的执行结果是______。 main() { int i,j,m=O,n=0; for (i=0;i<2;i++) {for (j=0;j<2;j++) if(j>=i) m=1;n++; printf("%d\n",n); } }
A.4
B.2
C.1
D.0
第10题:
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
【说明】
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
【函数】
main()
{
int number[20],n,m,i;
printf("the total numbers is:");
scanf("%d",&n);
printf("back m:");
scanf("%d",&m);
for(i=0;i<=n-1;i)
scanf("%d,",&number[i]);
(1);
for(i=0;i<=n-1;i)
printf("%d,",number[i]);
}
move(array,n,m)
int n,m,array[20];
{
int *p,array_end;
array_end=(2);
for(p=array[n-1];(3);p--)
*p=(4);
*array=array_end;
m--;
if(m>0) (5);
}