题目内容

若数组定义为:int a[4][5]; ,则引用“*(*(a+1)+2)”表示( )。

A. a[1][0]+2
B. &a[1][2]
C. a[0][1]+2
D. a[1][2]

查看答案
更多问题

若有定义 int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};则下面错误的是( )。

A. int *p=a;printf("%d",*p);
B. int (*p)[4]=a; printf("%d",*(*(p+2)+3));
C. int *p=a[0];printf("%d",*(p+2*4+3));
D. int *p=&a[0][0];printf("%d",*(p+1*4+2));

查找字符串s2是否在字符串s1中出现,如果出现,则返回第一次出现的位置,否则返回-1。(请使用指针填空)#include int fun(char *s1,char *s2);int main(){char s1[]="How do you do?",s2[]="do";printf("%d\n", ① );return 0;}int fun(char*s1,char *s2){ int i,j,k;for(i=0;s1[i]!='\0';i++){ k=i;for(j=0; ② ;j++,k++);if(s2[j]=='\0')③ ;}return -1;}

在一个数组中存放有N个数据,现在需要删除给定区间[x,y]内的元素(注意:请务必使用指针完成填空)。#include #define N 10int main(){int arr[N]={1,6,3,2,5,6,7,9,8,4},*p,*q,m=N,x=3,y=5;for(p=q=arr; ① ;p++){if(!(x<=*p&&*p<=y)){② ;}elsem--;}for(p=arr; ③;p++)printf("%5d",*p);}

#include void sp1(int *x, int *y);void sp2(int x, int y);int main(){int a=10,b=20;sp1(&a,&b);printf("a=%d,b=%d\n",a,b);sp2(a,b);printf("a=%d,b=%d\n",a,b);return 0;}void sp1(int *x, int *y){ int t;t= *x;*x = *y;*y = t;}void sp2(int x, int y){ int t;t= x;x = y;y = t;}

答案查题题库