|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Q:经过下列语句:int j,a[10],*p;定义后,
下列语句中合法的是
A. p=p+2;
B.p=a[5];
C.p=a[5]+2;
D.p=&(j+2);
A.
- #include <stdio.h>
- #include <math.h>
- int main()
- {
- int a[10],*p;
-
- printf("a=%d\n", a); //
-
- printf("a[0]=%d\n",a[0]);//
-
- printf("a[10]=%d\n", a[10]);//
-
- printf("p=%d\n", p); //
-
- printf("*p=%d\n", *p); //
-
-
- p=p+2;
-
- printf("a=%d\n", a); //
-
- printf("a[0]=%d\n",a[0]);//
-
- printf("a[10]=%d\n", a[10]);//
-
- printf("p=%d\n", p); //
-
- printf("*p=%d\n", *p); //
-
- return 0;
- }
复制代码
为什么运行结果只有4行?
a=6487536
a[0]=1
a[10]=1
p=1
B.
p=a[5];
[Error] invalid conversion from 'int' to 'int*' [-fpermissive]
[错误]从“int”到“int*”的转换无效[-fpermissive]
C.
p=a[5]+2;
[Error] invalid conversion from 'int' to 'int*' [-fpermissive]
D. p=&(j+2);
[Error] lvalue required as unary '&' operand
[错误]左值需要作为一元'&'操作数
|
|