1,双向链表;
对于A,第三步应为p->prior->next=p;
对于B,第二步应为q->next=p;
对于D,第二步应为p->prior->next=p;
具体过程如下:
2,关于字符串和数组长度;
答案为D;
对于字符串结尾部分会有‘\n’也算作一个长度,那么这个字符串长度就会为6,而对于y数组长度为所含元素个数,那么y数组长度就会为5;
字符串长度大于数组长度,所以选择D;
3,关于‘ ,’
对于‘ ,’运算符,整个‘,’表达式的值为分隔的列表中最后一个元素的值;
在这个题中:p为a[0]的地址,但在a[0]里存在两个元素0,1.由于‘,’的存在,输出的p[0]是a[0]中的第二个元素 1;
4,比较后用指针交换相应值:
如下:
#include<stdio.h>
int swap(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
if(a<b)
{
swap(&a,&b);
printf("%d %d",a,b);
}
system("pause");
return 0;
}
5,不同类型下的const语句:
char * const p
char const *p
const char *p
由于没有const*运算,所以const一般修饰前面;
第一个是p的值不可改变;不能修改p,但是可以改变指针指向内容(*p可变);
第二个是指向常量的指针,指向的变量不可改变,但可以改变变量的值(*p不可变,p可变);
第三个于第二个基本一致;
总结:这次考核暴露了很多问题,知识点记得不牢固,看了不会用而且很容易忘。而且对于算法部分,思维理解不到位,解题较为吃力,平时练习力度不够。后面要再加油!