C语言笔试例题_指针专练30题(附答案解析)

C语言笔试例题_指针专练30题(附答案解析)


指针一直是C语言的灵魂所在,是掌握C语言的必经之路,收集30道C语言指针题目分享给大家,测试环境位64位ubuntu18.04环境,如有错误,恳请指出,文明讨论!!!

文章目录

  • C语言笔试例题_指针专练30题(附答案解析)
  • 1.笔试例题
  • 2.结果与分析
  • 总结


1.笔试例题

答案与解析在文末尾


1.char * p =“Hello”;是定义初始化指针变量,指针变量的值是一个字符串.说法是否正确

A :正确

B:不正确


2.以下代码printf 输出是什么?

void main (void)
{
    int a[]={4,5,6,7,8};
    int *p = a;
    *p++ += 100;
    printf(" %d %d \n" , *p,*(++p));
}

3.若定义:int a[2][3]={1,3,5,7,9,11},以下描述正确的是

A :*(a+1)为元素7的地址

B:(a[1]+1)的值是5

C:**(a +1)+2值是11

D:a[0]和a不同


4.以下代码printf 输出是什么?

int main()
{
	int a[5] = { 1, 2, 3, 4, 5 };
	int* ptr = (int*)(&a + 1);
	printf("%d,%d", *(a + 1), *(ptr - 1));
 
	return 0;
}

5.说出以下代码的错误之处,并说明原因

char *getmemory( void )
{
	char p[] = "hello world";
	return p;
}

void test( void )
{
	char *str = NULL;
	str = getmemory();
	printf( str );
}

6.在上下文及头文件均正常的情况下,下列代码的输出是?(注:print已经声明过)

main()
{     
    char str[] = "Geneius";
    print (str);
} 
print(char *s)
{
    if(*s)
    {
        print(++s);
        printf("%c", *s); 
    }
}

A :suiene

B:neius

C:run-time error

D:suieneG


7.如下代码是否存在风险,并说明原因和修改方式

#include <stdio.h>
int main () {
	
	//hello world 存放在常量区是不可以修改的
	char * str = "hello world"; 
	*str = 'a'; // error
	
	return 0;
}

8.如下代码是否可行,说明原因

#include <stdio.h>
int main () {
	
	char str[4];
	str = "abc";
	
	return 0;
}

9.如下代码输出是什么

#include <stdio.h>
#include <string.h>

int main(){
    char *str = "baidu.com";
    int i ;
    str = "hello world!";
    int len = strlen(str);
   
    printf("%d \n",len);
    printf("%c \n", *(str+4));
    printf("%s \n",(str+6));
   
    return 0;
}

10.以下程序的输出结果(32位机器上)是()

int main(){
    char *p = "abcdefgh", *r;
    long *q;
    q = (long*)p;
    q++;
    r = (char*)q;
    printf("%s\n", r);
}

A :abcd

B:bcde

C:cdef

D:efgh


11.对于char * pa[7]的描述中,正确的是( )

A :pa是一个指向数组的指针,所指向的数组是7个char型元素

B:pa是一个指向某数组中第7个元素的指针,该元素是char型变量

C:pa[7]表示数组的第7个元素的值,是char型的值

D:pa是一个具有7个元素的指针数组,每个元素是一个char型指针


12.如下代码输出是什么

#include <stdio.h>
void fun(char **p) {
    int i;
    for (i = 0; i < 4; i++)
        printf("%s", p[i]);
}
main() {
    char *s[6] = {"ABCD", "EFGH", "IJKL", "MNOP", "QRST", "UVWX"};
    fun(s);
    printf("\n");
}

A :ABCDEFGHIJKL

B:ABCD

C:AEIM

D:ABCDEFGHIJKLMNOP


13.test.c文件中包括如下语句,文件中定义的四个变量,哪个变量不是指针类型?

#define INT_PTR int*
typedef int* int_ptr;
INT_PTR a,b;
int_ptr c,d;

A :a

B:b

C:c

D:d

E:都是

F:都不是


14.有int s[2]={0,1}, * p=s; 则下列错误的C语句是 ()
A :s+=1;

B:p+=1;

C:*p++;

D:(*p)++;


15.请问下列代码的输出是多少()

#include <stdio.h>
int main() {
    int m[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
    int(*p)[4] = (int(*)[4])m;
    printf("%d", p[1][2]);
    return 0;
}

A :7

B:3

C:8

D:4


16.已知如下代码

int a[] = {1, 2, 3, 4, 5};
int*p[] = {a, a + 1, a + 2, a + 3};
int **q = p;

表达式*(p[0]+1)+**(q+2)的值是____。
A :5

B:6

C:7

D:8

E:9

F:10


17.如下代码输出是什么

#include<stdio.h>
void foobar(int a, int *b, int **c)
{
    int *p = &a;
    *p = 101;
    *c = b;
    b = p;
}
 
int main()
{
    int a = 1;
    int b = 2;
    int c = 3;
    int *p = &c;
    foobar(a, &b, &p);
    printf("a=%d, b=%d, c=%d, *p=%d\n", a, b, c, *p);
    return (0);
}

A :a=1, b=2, c=3, *p=2

B:a=101, b=2, c=3, *p=2

C:a=101, b=101, c=2, *p=3

D:a=1, b=101, c=2, *p=3


18.如下代码输出是什么

void GetMemory(char **p, int num)
{
    *p = (char *)malloc(num);
}
void Test(void)
{
    char *str = NULL;
    GetMemory(&str, 100);
    strcpy(str, "hello");
    printf("%s", str);
}

A :空

B:hello

C:出错


19.如下代码输出是什么

int main(){
   int i = 10;
   int j = 1;
   const int *p1;//(1)
   int const *p2 = &i; //(2)
   p2 = &j;//(3)
   int *const p3 = &i;//(4)
   *p3 = 20;//(5)
   *p2 = 30;//(6)
   p3 = &j;//(7)
return 0;
}

A :1,2,3,4,5,6,7

B:1,3,5,6

C:6,7

D:3,5


20.在C++中,为了建立如图所示的存储结构(即每个结点含两个域,data是数据域,next是指向结点的指针域),则在[] 处应填入选项是(多选题)

struct link
{
char data;
[];
} node;

A :link next;

B:struct link * next;

C:link * next;

D:struct link next;


21.有以下语句:(多选)

char str[4][12] = {"aaa", "bbbb", "ccccc", "dddddd"}, *strp[4];
for (int i = 0; i < 4; i++)
    strp[i] = str[i];

对字符串的正确引用是(),其中0≤k<4()
A :*strp

B:strp

C:str[k]

D:strp[k]


22.在64位系统下,分别定义如下两个变量:char ∗ * p[10]; char( ∗ * p1)[10];请问,sizeof( p p p)和sizeof (p1)分别值为____。

A :4,40

B:80,8

C:10,10

D:8,80


23.若有以下说明和定义,在必要的赋值之后,对fun函数的正确调用语句是()

int fun (int *c){}
int main(){
    int (*a)(int*)=fun,*b(),w[10],c;}

A :a=a(w);

B:(*a)(&c);

C:b=*b(w);

D:fun(b);


24.下列程序的打印结果是?

char p1[15] = "abcd", *p2 = "ABCD", str[50] = "xyz"; 
strcpy(str + 2, strcat(p1 + 2, p2 + 1));
printf("%s", str);

A :xyabcAB

B:abcABz

C:ABabcz

D:xycdBCD


25.对于下面的语句

int c[4][5], (*p)[5];
p = c;

A :p + 1

B:*(p + 3)

C:*(p + 1) + 3

D:*(p[0] + 2)


26.对于以下代码,char ∗ * p=new char[100];说法正确的是()

A :p和new出来的内存都在栈上

B:p和new出来的内存都在堆上

C:p在堆上,new出来的在栈上

D:p在栈上,new出来的在堆上


27.运行以下C语言代码,输出的结果是()

#include <stdio.h>
int main()
{
    char *str[3] ={"stra", "strb", "strc"};
    char *p =str[0];
    int i = 0;
    while(i < 3)
    {
        printf("%s ",p++);
        i++;
    }
    return 0;
} 

A :stra strb strc

B:s t r

C:stra tra ra

D:s s s


28.运行以下C语言代码,输出的结果是()

int main() 
{
    char c, s[20];
    strcpy(s, "Hello,World");
    printf("s[]=%6.9s\n", s);
    return 0;
}

A :s[]=Hello,

B:s[]=Hello,World

C:s[]= Hello,

D:s[]=Hello,Wor


29.有以下语句定义,则能输出a[1][2]的值的语句是()

int a[2][3];
int (*p)[3]=a; 
int *q=*a;

A:cout<< ∗ * ( ∗ * (a+1)+2)

B:cout<<p[1][2];

C:cout<<*(q+5);

D:cout<<q[1][2];


30.若有定义语句: int year=1009 , ∗ * p=&year ;以下不能使变量 year 中的值增至 1010 的语句是()

A:*p+=1;

B:(*p)++;

C:++(*p)

D:*p++


2.结果与分析

题目一:答案:错误 ,
原因:char * p =“Hello” 定义了一个指向字符串的指针变量 p,并将其初始化为字符串 “Hello” 的地址。所以指针变量的值为字符串的地址

题目二:答案:6,6
原因:执行*p++ += 100语句之后,数组变成{104,5,6,7,8},p指针指向第个二元素:5,重点是考察的是变参函数printf,printf的参数入栈是从右到左执行的,所以先执行 ∗ * (++p)输出6,再 执行 ∗ * p输出6,输出的是同一个元素。此题答案之前出现分歧,可能是运行环境不一致导致的。

题目三:答案:A
原因:在二维数组中, ∗ * (a+1)表示第二列首元素地址,这里是7;(a[1]+1)表示第二列第二个元素的地址,这里应该是元素9的地址;**(a +1)表示第二列首元素求值,这里是7,+2得到的是9;a和a[0]其实是一样的。一维数组和二维数组运算关系可参见博客:https://blog.csdn.net/Yin_w/article/details/131731082

题目四:答案:2,5
原因:因为&a是整个数组a的地址,所以&a+1指向的是整个数组a后面的一个位置(跨越了整个数组),也就是ptr指向的是数组a之外的下一个位置。而由于数组a是连续存储的,所以这个位置恰好是数组a最后一个元素的下一个位置。因此 ∗ * (ptr-1)的值就是数组a中最后一个元素的值,即5

题目五:答案:运行结果:运行无误,但打印乱码
原因:getMemory(void)中的p[]为函数内的局部自动变量,在函数返回后,内存已经被释放。如果一步步调试,会发现执行str=getMenory();后str不再是NULL了,但是str的内容并不是hello world,而是垃圾数据。

题目六:答案:A
原因:主要考察递归思想,此题答案来自牛客网码友,鸣谢!
在这里插入图片描述

题目七:答案:运行会报错,
原因:这种形式的字符串存储在常量区。常量区 字符串只有读取权限,没有写入权限,这就导致了字符数组 在定义后可读取和修改每个字符而 第二种形式(字符串常量) 一旦定义后便不可修改,对它的赋值都是错误的(可整体赋值),这种形式可修改:
char str[] = “hello world”;
char *pstr = str;
*str = ‘a’;

题目八:答案:赋值方式错误
原因:字符数组 只有在定义时才可一次性赋值,一旦定义完就只能一个个赋值。这样写正确:str[0] = ‘a’; str[1] = ‘b’; str[2] = ‘c’;与上述第七题的联系和区别,可参见博客:https://blog.csdn.net/Yin_w/article/details/132426333

题目九:
答案:
12
o
world!
原因:字符数组是一个数组,关于指针和数组的规则同样也适用于字符数组.故输出字符串也可以用: ∗ * (pstr+i)、pstr[i]、*(str+i) 、str[i]进行输出

题目十:答案:D
原因:char* p = “abcdefgh”,每个字符占1个字节,那么总共是8个字节,此时p指向’a’。如果是p++,那么p将指向’b’。打印p会得到"bcdefgh"。 long* q = (long*)p 将p强制转换为long*类型,也就是用long类型去解释存储了"abcdefgh"的这一段内存,此时q指向’a’,由于long类型是4个字节,那么q++移动4个字节,q将指向’e’,打印q将得到"efgh"。

题目十一:答案:D
原因,这里定义的是一个指针数组,本质是一个数组,数组元素为指针

题目十二:答案:D
原因:以上语句定义了一个指针数组 s。本质是一个数组,数组元素为字符串指针,而数组名是指向第一个元素的常量指针,因此 s 是指向指针的指针,所以函数 fun 的形参定义是 char **。fun(s) 将指针 s 的值传递给形参 p,所以 p = s,因此for(i=0;i<4;i + + )printf(“% s”,p[i]);中 printf(“% s”,p[i]) 等价于 printf(“% s”,s[i])。注意, s[i] 中存储的不是字符串,而是字符类型的指针,但 printf 会输出 s[i] 存储的指针指向的字符串。所以最后输出为 D。

题目十三:答案:B
原因:typedef 给已有类型声明一个别名,故c和d都是int_ptr类型也即都是int *类型;
#define宏定义,在预编译时直接进行简单替换,即原式变为:int ∗ * a,b; 这相当于是int *a, int b; 即a是指针,b是int型。参考博客:https://blog.csdn.net/Yin_w/article/details/134915018?spm=1001.2014.3001.5502

题目十四:答案:A
原因:数组名为指针常量,其值不可更改。

题目十五:答案:A
原因:int ∗ * p[n] 表示的是指针数组;int ( ∗ * p)[n] 表示的是一个指向有n个元素数组的指针;(int ( ∗ * )[4])m 表示以数组指针重新组织数组m,将其每4位划为一组,这样一来,m为{{1,2,3,4},{5,6,7,8},{9,0, , }},p指向第一行故p[1][2]即 ∗ * ∗ * (p+1)+2),表示第二行第三个元素,为7

题目十六:答案:A
原因:a[]是一个有5个元素的数组, ∗ * p[]是一个指针数组,数组名p,其内部有4个元素,每个元素是一个指针,分别指向a,a+|,a十2,a十3。 ∗ * (p[0]+1)表示数组p的第0行第1个元素的值,即a[l],值为2。 ∗ * ∗ * q是一个二维指针,它是向p的首址,即p[0]+0,即a的首地址,a[0]。q+2表示指向&a的第2个元素,**表示取值3。所以答案5

题目十七:答案:A
原因:函数对a是值传递,所以int *p = &a得到的是形参的地址,不会改变a的实际值,“*p = 101”是把形参a的值变成了101;对**c,传入的是二级指针,所以“ ∗ * c = b”改变了指针p的指向,现在p指针指向b,所以p取值是2,但c的值没有变,依旧是3;对于b =p;相当于改变指针的指向,对于一级指针来讲想在函数内部改变其指向是无效的,所以b的值其实也没变,整个过程下来其实改变的只有p的指向,所以选A。可以参考博客:https://blog.csdn.net/Yin_w/article/details/132478099

题目十八:答案:B
原因:这里对传入的参数是二级指针,但因为该函数形参p为实参的临时拷贝,在函数内部申请空间的地址,存放在p中,不会影响str,所以当函数返回之后,str会成功指向开辟的堆空间,但一定要记得释放,此题有区别于void GetMemory(char *p, int num)形式。

题目十九:答案:C
原因:
(1)const int ∗ * p1:不能通过指针p1修改指向的内存的值,但p1本身指向可修改。
(2)int const ∗ * p2=&i:与p1相同,即不能修改p2指向的内存单元的值,但是可以修改p2使其指向其它的内存单元。这里p2指向了整型变量i
(3)p2=&j:修改p2,使其指向整型变量 j ,由(2)可知(3)没错。
(4)int *constp3=&i:p3是指向整型变量的常指针,p3初始化后不能改变他的指向,但是可以修改p3指向的内存单元的值。
(5)*p3=20:通过p3将变量i的值修改为2,由(4)可知(5)没错。
(6)*p2=30:通过p2修改它所指向的内存单元的值,由(2)可知(6)错误。
(7)p3=&j:修改p3,使其指向j,由(4)可知(7)错误。
参考博客:https://blog.csdn.net/Yin_w/article/details/132394812

题目二十:答案:BC
原因:由链表的属性可知,第二个成员是指向数据储存数据的结构体类型的结构体指针,非常明显BC均符合。

题目二十一:答案:ACD
原因:for循环实现将每个字符串的首地址赋给指针数组中每一个元素。strp为指针数组首地址,不是字符串的引用。str[k]为第k个字符串的地址,表示第k个字符串的引用。strp[k]表示指针数组的第k个元素,为第k个字符串的地址,也是这个字符串的引用。*strp取指针数组第一个元素,即为第一个字符数组的地址,也即为第一个字符串的引用。选择A、C、D选项。

题目二十二:答案:B
原因:64位系统下一个指针占8字节。
(1)char ∗ * p[10]指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针。如int* a[10]。
(2)char( ∗ * p1)[10]数组指针:a pointer to an array,即指向数组的指针。如int (*a)[10]。
sizeof( p p p)计算的是10个char型指针的数组大小,sizeof(p1)计算的是一个char型指针p1的大小,所以答案为80 , 8。

题目二十三:答案:B
原因:int fun (int *c){ … }定义了一个参数为int类型指针的函数。int ( ∗ * a)(int ∗ * )=fun的意思是定义了一个函数指针,该指针指向了fun函数,所以可以通过对指针取值调用该函数,且函数的参数必须是个地址,只有B符合,注意调用函数指针有ret = (*p)(); 和ret = p(); 两种形式,参见博客:https://blog.csdn.net/Yin_w/article/details/129962775

题目二十四:答案:D
原因:本题考查数组和指针,在本题中c是二维数组,指针p指向二维数组c,p其实是指向c数组的第一行。因此选项A)中p+1指向c数组的第二行;选项B)中,p+3表示p指向c数组的第三行,因此 ∗ * (p+3)表示取出c数组第三行首元素的地址:选项C)和选项B)类似,表示取出数组c第二行首元素地址然后加3;选项D)中p[0]+2表示数组第一行第三列元素的地址,因此 ∗ * (p[0]+2)是取出该元素的值。 知识模块:函数和数组

题目二十五:答案:D
原因:动态分配在堆中,其它的内存分配都在栈上进行。

题目二十六:答案:B
原因:p是char ∗ * 类型,每次++,后移一位(char)
char ∗ * p=str[0]相当于char ∗ * p=“stra”,p先指向s,p++后,指向t,printf输出遇到空字符停止

题目二十七:答案:C
由链表的属性可知,第二个成员是指向数据储存数据的结构体类型的结构体指针,非常明显BC均符合。

题目二十八:答案:C
原因:%6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9, 则第9个字符以后的内容将被删除。%m.n表示场宽为m的浮点数, 其中小数位为n, 整数位为m-n-1,小数点占1位,不够m位,左右对齐。

题目二十九:答案:ABC
原因:由链表的属性可知,第二个成员是指向数据储存数据的结构体类型的结构体指针,非常明显BC均符合。

题目三十:答案:D
分析·: ∗ * p++是先取出 ∗ * p的值,然后让p++ ,( ∗ * p)++是先取出*p的值,让这个值++,*p+=1也是先取值再让值++ 参考博客https://blog.csdn.net/Yin_w/article/details/132495312


总结

以上就是30道C语言指针测试题目,如有错误,恳请指出,收集不易,转载留名,谢谢!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/234386.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【git】关于git二三事

文章目录 前言一、创建版本库1.通过命令 git init 把这个目录变成git可以管理的仓库2.将修改的内容添加到版本库2.1 git add .2.2 git commit -m "Xxxx"2.3 git status 2.4 git diff readme.txt3.版本回退3.1 git log3.2 git reset --hard HEAD^ 二、理解工作区与暂存…

面试 Redis 八股文十问十答第一期

面试 Redis 八股文十问十答第一期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1.Redis数据类型有哪些? String&#xff08;字符串&#xff09;&#xff1a;是…

win11 CUDA(12.3) + cuDNN(12.x) 卸载

win11 CUDA&#xff08;12.3&#xff09; cuDNN&#xff08;12.x&#xff09;卸载 信息介绍卸载 信息介绍 本文是对应 win11RTX4070Ti 安装 CUDA cuDNN&#xff08;图文教程&#xff09; 的卸载 卸载 控制面板 --> 程序 --> 卸载程序 卸载掉图中红框内的&#xff0c…

四. 基于环视Camera的BEV感知算法-环视背景介绍

目录 前言0. 简述1. 环视背景介绍2. 环视思路3. 主流基于环视Camera的算法详解总结下载链接参考 前言 自动驾驶之心推出的《国内首个BVE感知全栈系列学习教程》&#xff0c;链接。记录下个人学习笔记&#xff0c;仅供自己参考 本次课程我们来学习下课程第四章——基于环视Camer…

【杂项】程序的执行目录和程序的当前目录

当32位应用程序运行时&#xff0c;系统将为它分配一个4GB的地址空间&#xff0c;加载模块会会分析该应用程序的输入信息&#xff0c;从中找到程序将要访问的动态链接库信息&#xff0c;在用户机器上搜索这些动态链接库&#xff0c;进而加载它们&#xff0c;搜索的顺序依次是 程…

基于C++11标准的Vector容器与多维数组编程规范学习

一、基本概念 泛型编程&#xff1a;所谓泛型程序设计&#xff0c;就是编写不依赖于具体数据类型的程序。C中&#xff0c;模板是泛型编程的主要工具。泛型程序设计的主要思想是将算法从特定的数据结构中抽象出来&#xff0c;使算法成为通用的、可以作用于各种不同的数据结构。以…

Vue3 使用图片涂鸦插件

一、安装插件 npm i toast-ui/vue-image-editor npm i tui-code-snippet npm i tui-image-editor Image-editor | TOAST UI :: Make Your Web Delicious! 官网介绍说是“凭借简单和美观的完美结合&#xff0c;图像编辑器是一个功能齐全的编辑器&#xff0c;非常适合日常使…

kafka入门(四):消费者

消费者 (Consumer ) 消费者 订阅 Kafka 中的主题 (Topic) &#xff0c;并 拉取消息。 消费者群组&#xff08; Consumer Group&#xff09; 每一个消费者都有一个对应的 消费者群组。 一个群组里的消费者订阅的是同一个主题&#xff0c;每个消费者接收主题的一部分分区的消息…

基于SSM+JSP网上订餐管理系统(Java毕业设计)

大家好&#xff0c;我是DeBug&#xff0c;很高兴你能来阅读&#xff01;作为一名热爱编程的程序员&#xff0c;我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里&#xff0c;我将会结合实际项目经验&#xff0c;分享编程技巧、最佳实践以及解决问题的方法。无论你是…

原来JMeter 分布式执行原理这么简单,为什么没有早点看到呢!

在使用 JMeter 进行性能测试时&#xff0c;如果并发数比较大&#xff08;比如项目需要支持 10000 并发&#xff09;&#xff0c;单台电脑&#xff08;CPU 和内存&#xff09;可能无法支持&#xff0c; 这时可以使用 JMeter 提供的分布式测试的功能&#xff0c;使用多台测试机一…

当初为什么选择计算机-希望一直干下去

还记得当初自己为什么选择计算机&#xff1f; 当初你问我为什么选择计算机&#xff0c;我笑着回答&#xff1a;“因为我梦想成为神奇的码农&#xff01;我想像编织魔法一样编写程序&#xff0c;创造出炫酷的虚拟世界&#xff01;”谁知道&#xff0c;我刚入门的那天&#xff0…

LLMs 应用程序的构建利器:LangChain 助您驰骋 AI 世界 | 开源日报 No.100

langchain-ai/langchain Stars: 67.9k License: MIT LangChain 是一个旨在通过组合性来构建 LLMs 应用程序的库。它可以帮助开发者快速将 LangChain 应用程序部署到生产环境&#xff0c;同时提供了统一的开发平台&#xff0c;用于构建、测试和监控 LLM 应用程序。该项目主要功…

Bypass open_basedir

讲解 open_basedir是php.ini中的一个配置选项&#xff0c;可用于将用户访问文件的活动范围限制在指定的区域。 假设open_basedir/var/www/html/web1/:/tmp/&#xff0c;那么通过web1访问服务器的用户就无法获取服务器上除了/var/www/html/web1/和/tmp/这两个目录以外的文件。…

【数据结构】——排序篇(下)

前言&#xff1a;前面我们的排序已经详细的讲解了一系列的方法&#xff0c;那么我们现在久之后一个归并排序了&#xff0c;所以我们现在就来讲解一下归并排序。 归并排序&#xff1a; 归并排序&#xff08;MERGE-SORT&#xff09;是建立在归并操作上的一种有效的排序算法,该算法…

分类预测 | SSA-HKELM-Adaboost麻雀算法优化混合核极限学习机的数据分类预测

分类预测 | SSA-HKELM-Adaboost麻雀算法优化混合核极限学习机的数据分类预测 目录 分类预测 | SSA-HKELM-Adaboost麻雀算法优化混合核极限学习机的数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.SSA-HKELM-Adaboost麻雀算法优化混合核极限学习机的数据分类…

Kubernetes -Kubernetes中的Network组件

Network是Kubernetes体系中的重头戏&#xff0c;相比于其它组件来说也比较难&#xff0c;因为Kubernetes中所有的Pod或者服务之间一定是需要进行网络通信的&#xff0c;如果不能解决网络通信的问题&#xff0c;那可以说整个Kubernetes体系中的Pod是没有灵魂的。 所以必须要把N…

dlib是什么?

dlib C Libraryhttp://dlib.net/ dlib是什么&#xff1f; Dlib is a modern C toolkit containing machine learning algorithms and tools for creating complex software in C to solve real world problems. It is used in both industry and academia in a wide range of…

面试官:性能测试瓶颈调优你是真的会吗?

引言&#xff1a;性能瓶颈调优 在实际的性能测试中&#xff0c;会遇到各种各样的问题&#xff0c;比如 TPS 压不上去等&#xff0c;导致这种现象的原因有很多&#xff0c;测试人员应配合开发人员进行分析&#xff0c;尽快找出瓶颈所在。 理想的性能测试指标结果可能不是很高&…

小目标检测模型设计的一点思考

1. 小目标的特性 目标之间的交叠概率比较低&#xff0c;即使有交叠&#xff0c;其IoU多数情况下也是比较小的 AI-TOD Tiny Person Dateset 小目标自身的纹理显著度有强弱区别&#xff0c;但是总体来说纹理特征都较弱&#xff0c;很多时候需要借助一定的图像上下文来帮助确认 …

SpringBoot 官方脚手架不再支持Java8和Java11

Spring 官方脚手架不再支持初始化 Java8 和 Java 11 项目&#xff0c;目前仅支持初始化Java17 和 Java21 项目。 阿里巴巴Spring脚手架支持初始化Java8、Java11、Java17、Java19 的项目&#xff0c;不支持初始化Java21的项目。