已有定义int m=3,int*p,*q;且p和q均已指向变量m,下面不能正确执行的赋值语句是()。
A.m=*p+*q;
B.q=m;
C.p=q;
D.m=*p*(*q)
A.m=*p+*q;
B.q=m;
C.p=q;
D.m=*p*(*q)
35:
int a[3];
a[0]=0; a[1]=1; a[2]=2;
int *p, *q;
p=a;
q=&a[2];
则a[q-p]=?
A.*(a+1)
B.a[p-a]
C.p+i
D.*(&a[i])
A.因为第三行的错误不能编译
B.因为第三行的错误运行时崩溃
C.输出5
D.输出20
#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
那么另一段程序的结果是什么?
A.int a[3][4]={0};
B.int a[3][4]={{1,2},{1,2,3},{1,2,3,4}};
C.int a[3][]={0,1,2,3,4,5,6,7,8,9,10,11,12};
D.int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
面试题:合并两个排序的链表
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。例如输入图3.7中的链表1和链表2,则合并之后的升序链表3所示。链表结点定义如下:
struct list Node
{
int m _n Value;
listNode* m_pNext;
};
第三题:下列4个选项中,哪个结果为6?
int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a;
(A) *p + 6; (B) *(p+6); (C) *p += 5; (D) p+5;