[求助]c语言指针问题!
这里有两个题目,
我看得头都大了
就是不明白!
请大家帮忙解释一下!
已知:
struct sk
{int a;
Float b;
}data, *p;
如果P=&data;则以下正确的引用是:
A. (*p).data.a
B.(*P).a
C. p—>data.a
D. p.data.a
我觉得:(*P).a 和 p—>data.a 可以,是不是!!
~~~~~~~~~~~~~~~~~
已知:
int a[4][3]={
1,2,3,
4,5,6,
7,8,9,
10,11,12
};
int(*prt)[3]=a, *p=a[0];
则正确表示a[1][2]的是:
A. *((prt+1)[2]
B.*(*(p+5))
C.(*prt+1)+2)
D.*(*(a+1)+2)
这个指针到底怎么指向的呀!
~~~~~~~~~~~~~~~~~~~~~~
若已知char a[20]=”programming”, *p=a;不能引用字母o的表达式是 。
A)p+2
B)a[2]
C)p[2]
D)p+=2, *p
我觉得
p+2 是:o2
a[2]和p[2] 都可以吧!
~~~~~~~~~~~~~~~~~~··
8 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是 。
A)scanf("%d%d%d",&a,&b,d); 我选择这个可以吗!
B)scanf("%d%d%d",&a,&b,&d);
C)scanf("%d%d%d",a,b,d);
D)canf("%d%d%d",a,b,*d);
[ 本帖最后由 xiaxun 于 2010-10-29 21:10 编辑 ]