首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

几个指针的有关问题,求解答

2014-04-26 
几个指针的问题,求解答啊1.若有以下定义,则对a数组元素的正确引用是_________. int a[5],*pa a)*&a[5]b)

几个指针的问题,求解答啊
1.若有以下定义,则对a数组元素的正确引用是_________.
 int a[5],*p=a;
 a)*&a[5]   b)a+2  c)*(p+5)  d)*(a+2)

这个引用是什么意思啊??

------------------------------------------------
2.有以下定义
char a[10],*b=a;
不能给数组a输入字符串的语句是()
A)gets(a)   B)gets(a[0])    C)gets(&a[0]);    D)gets(b);

----------------------------------------------
3.设已有定义: char *st="how are you"; 下列程序段中正确的是()
  A) char  a[11], *p;  strcpy(p=a+1,&st[4]);
  B) char  a[11];      strcpy(++a, st);
  C) char  a[11];      strcpy(a, st);
D) char  a[], *p;    strcpy(p=&a[1],st+2);

a选项里,&st[4]不是地址吗?也能用strcpy吗?

-------------------------------------------

4.以下正确的程序段是_________.
  a)char str[20];                    b)char *p;
   scanf("%s",&str);                 scanf("%s",p);
  c)char str[20];                    d)char str[20],*p=str;
scanf("%s",&str[2]);                scanf("%s",p[2]);
答案说选c,但是如果c能行,为什么a不行啊?

求解啊。

[解决办法]
1.若有以下定义,则对a数组元素的正确引用是_________.
 int a[5],*p=a;
 a)*&a[5]   b)a+2  c)*(p+5)  d)*(a+2)

这个引用是什么意思啊??

a.越界 b.还是个指针 c.越界 所以答案是d

------------------------------------------------
2.有以下定义
char a[10],*b=a;
不能给数组a输入字符串的语句是()
A)gets(a)   B)gets(a[0])    C)gets(&a[0]);    D)gets(b);

gets函数参数类型是char*指针

----------------------------------------------
3.设已有定义: char *st="how are you"; 下列程序段中正确的是()
  A) char  a[11], *p;  strcpy(p=a+1,&st[4]);
  B) char  a[11];      strcpy(++a, st);
  C) char  a[11];      strcpy(a, st);
D) char  a[], *p;    strcpy(p=&a[1],st+2);

a选项里,&st[4]不是地址吗?也能用strcpy吗?

char *strcpy( char *to, const char *from );
b.函数使用正确,但是数组a内存不够,出现越界。
c.同上
d.数组a没有分配内存。。。。
只有答案A正确


-------------------------------------------

4.以下正确的程序段是_________.
  a)char str[20];                    b)char *p;
   scanf("%s",&str);                 scanf("%s",p);
  c)char str[20];                    d)char str[20],*p=str;
scanf("%s",&str[2]);                scanf("%s",p[2]);
答案说选c,但是如果c能行,为什么a不行啊?

int scanf( const char *format, ... );
按照标准的话答案是c
但是a也没错

热点排行