C语言笔试题

【C语言】动态内存管理及相关笔试题 栈区(stack):在执⾏函数时,函数内局部变量的存储单元都可以在栈上创建,函数执⾏结束时这些存储单元⾃动被释放。栈内存分配运算内置于处理器的指令集中,效率很⾼,但是分配的内存容量有限。栈区主要存放运行函数而分配的局部变量、函数参数、返回数据、返回地址等堆区(heap):⼀般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 ,分配⽅式类似于链表,数据段(静态区):(static)存放全局变量、静态数据,程序结束后由系统释放代码段:存放函数体(类成员函数和全局函数)的⼆进制代码。 阅读详情
 
一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)

请写出 BOOL flag 与“零值”比较的 if 语句。(3分)
标准答案:

 

    if ( flag )

 

    if ( !flag )
如下写法均属不良风格,不得分。
    if (flag == TRUE)  

 

    if (flag == 1 )    

 

    if (flag == FALSE) 

 

        if (flag == 0)     
请写出 float x 与“零值”比较的 if 语句。(4分)
标准答案示例:

 

const float EPSINON = 0.00001;

 

if ((x >= - EPSINON) && (x <= EPSINON)

 

不可将浮点变量用“ ==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。
  

 

如下是错误的写法,不得分。
    if (x == 0.0)  

 

    if (x != 0.0)      

 

   

 

 
请写出 char *p 与“零值”比较的 if 语句。(3分)
标准答案:

 

    if (p == NULL)

 

    if (p != NULL)
如下写法均属不良风格,不得分。
    if (p == 0)

 

    if (p != 0)    

 

    if (p) 

 

        if (!)     

 

二、以下为Windows NT下的32位C++程序,请计算sizeof的值(10分)

 

       char str[] = “Hello” ;
       char   *p = str ;
int      n = 10;
请计算
sizeof (str ) = 6  (2分)

 

        

 

sizeof ( p ) =   4  (2分)

 

         

 

sizeof ( n ) =   4  (2分)
void Func ( char str[100])
{
请计算
  sizeof( str ) =   4     (2分)

 

}

 

 
void *p = malloc( 100 );
请计算
sizeof ( p ) = 4     (2分)

 

 

 

 

三、简答题(25分)

 

 

1、头文件中的 ifndef/define/endif 干什么用?(5分)
答:防止该头文件被重复引用。

 

 

2、#i nclude < filename.h>   和 #i nclude “ filename.h” 有什么区别?(5分)
答:对于#i nclude <filename.h> ,编译器从标准库路径开始搜索 filename.h

 

    对于#i nclude “filename.h” ,编译器从用户的工作路径开始搜索filename.h

 

 

3、const 有什么用途?(请至少说明两种)(5分)
答:(1)可以定义 const 常量

 

(2)const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。

 

 

4、在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”? (5分)
答:C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。假设某个函数的原型为: voidfoo(int x, int y);

 

该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字。

 

C++提供了C连接交换指定符号extern“C”来解决名字匹配问题。

 

 

5、请简述以下两个for循环的优缺点(5分)

 

for ( i=0; ii++)

 

{

 

if (condition)

 

    DoSomething();

 

else

 

    DoOtherthing();

 

}
if (condition)

 

{

 

for ( i=0; ii++)

 

    DoSomething();

 

}

 

else

 

{

 

    for (i=0; ii++)

 

    DoOtherthing();

 

}
优点:程序简洁

 

 

缺点:多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。

 

 
优点:循环的效率高

 

 

缺点:程序不简洁

 

 

 

 

 

 

 
 
c语言常见笔试题
关键词: 笔试题                                          

 

int Strcmp(char *str1, char *str2)
{
   int i=0;
   int b=0;
   while(str1[i]||str2[i])
   {
      if(str1[i]>str2[i])
      {
         b=1;break;
      }
      else if(str1[i]<str2[i])
      {
         b=-1;break;
      }
      i++;
   }
   return b;
}
***************************************************************************************************************
1.说出下面这个程序的运行结果,并简要叙述其理由:
char buf1[10]="hello";
char buf2[10]="hello";
if (buf1==buf2)
printf("equal!");
else printf("not equal!");
因为buf1,buf2分配了不同的内存块,而比较的是数组名,实际上是两个分别指向数组起始元素地址的指针。
2.指出下面这段程序中存在一些什么问题:
int loop,a[5];
int* p=a;
for (loop=0;loop<5;loop++)
{ p++;
*p=loop;
}
数组a[5]在创建时没有初始化, 在for循环里也没有起到完全初始化数组的作用,而且对一块未知内存赋值。在最后一轮循环
结束时p指向了数组a[5]的最后一个元素的下一个地址。
string 系列
char * strcpy( char *strDest, const char *strSrc )
{
 assert( (strDest != NULL) && (strSrc != NULL) );
char *address = strDest;
 while( (*strDest++ = * strSrc++) != ‘/0’ );
return address;
}
char* strncpy(char* strdest, const char* strsrc, int n)
{
   assert((strdest != NULL) && (strsrc != NULL));
   char* address = strdest;
   while(n-- > 0)
      *strdest++ = *strsrc++;
   return address;
}
int strcmp(const char* str1, const char* str2)
{
   assert((str1 != NULL) && (str2 != NULL);
   int ret = 0;
   while (!(ret = (unsigned char*)*str1 - (unsigned char*)*str2) && (*str2))
   {
      str1++;
      str2++;
   }
   if (ret > 0)
      ret = 1;
   else if (ret < 0)
      ret = -1;
   return ret;
}
int strlen(const char* str)
{
   assert(str != NULL);
   int len = 0;
   while ('/0' != *str++)
      len++;
   return len;
}
类string的构造函数
string::string(const char* str)
{
   if(str == NULL)
   {
      m_data = new char[1];
      *m_data = '/0';
    }
    else
    {
       int length = strlen(str);
       m_data = new char[str + 1];
       strcpy(m_data, str);
     }
}
string 的析构函数
string::~string()
{
   delete [] m_data;
}
string 的拷贝构造函数
string ::string(const string& other)
{
   int len = strlen(other.m_data);
   m_data = new char[len + 1];
   strcpy(m_data, other.m_data);
}
string 的赋值函数
string& string::operator=(const string& other)
{
   if (this == &other)
      return *this;
   delete [] m_data;
   int len = strlen(other.m_data);
   m_data = new char[len + 1];
   strcpy(m_data, other.m_data);
   return *this;
}  

不用任何局部和全局变量实现int strlen(char *a)
int strlen(char *a) {
    if('/0' == *a)
        return 0;
    else
        return 1 + strlen(a + 1);
}

1)sizeof相关系列问题
2)const相关系列问题
3)大量林锐书的习题,以及各种变种
这三个几乎是每次必出现
下面的这些是程序相关题,很多都是以前有讨论过的,还请各位大侠能整理个比较适合做面试时答案的解答,多谢了.最好能给出
讨论链接,让我等后辈有 学习的机会.
1)求出相似度的算法.
2)写出二分查找的代码.
int binary_search(int* arr, int key, int n)
{
   int low = 0;
   int high = n - 1;
   int mid;
   while (low <= high)
   {
      mid = (high + low) / 2;
      if (arr[mid] > k)
         high = mid - 1;
      else if (arr[mid] < k)
         low = mid + 1;
      else
         return mid;
   }
   return -1;
}
  
3)写出在母串中查找子串出现次数的代码.
*4)写出快速排序或者某种排序算法代码
出现次数相当频繁
5)写出查找从一个集合中输出所有子集合的算法.
*6)实现strcpy函数
char* strcpy(char* dest, const char* src)
{
   assert((dest != NULL) && (src != NULL));
   char* address = dest;
   while ('/0' != (*dest++ = *src++));
   return address;
}
出现次数相当频繁
*7)实现strcmp函数
int mystrcmp(const char* str1, const char* str2)
{
   assert((str1 != NULL) && (str2 != NULL));
   int ret = 0;
   while (!(ret = *(unsigned char*)str1 - *(unsigned char*)str2) && *str2)
   {
      str1++;
      str2++;
   }
   if (ret > 0)
      ret = 1;
   else if (ret < 0)
      ret = -1;
   return ret;
}
  
出现次数相当频繁
8)将一个单链表逆序
struct test
{
   int number;
   double score;
   test* next;
}
void reverse(test*& head)
{
   test* pe = head;
   test* ps = head->next;
   while(ps != NULL)
   {
      pe->next = ps->next;
      ps->next = head;
      head = ps;
      ps = pe->next;
    }
} 
  
     
     
9)循环链表的节点对换和删除。
*10)将一个数字字符串转换为数字."1234" -->1234
#i nclude<iostream>
using namespace std;
int f(char* s)
{
   int k = 0;
   while (*s)
   {
      k = 10 * k + (*s++)- '0';
     
   }
   return k;
}
int main()
{
   int digit = f("4567");
   cout<<digit<<endl;
   cin.get();
}
出现次数相当频繁
11)实现任意长度的整数相加或者相乘功能。
*12)写函数完成内存的拷贝
一个内存拷贝函数的实现体
void *memcpy(void *pvTo,const void *pvFrom,size_t size)
{
assert((pvTo!=NULL)&&(pvFrom!=NULL));
byte *pbTo=(byte*)pvTo; //防止地址被改变
byte *pbFrom=(byte*)pvFrom;
while (size-- >0)
*pbTo++ = *pbForm++;
return pvTo;
}
出现次数相当频繁
 

.笔试:
1)写一个内存拷贝函数,不用任何库函数.就是前些时候本版讨论的那个问题.
 void* memcpy(void* pvTo, const void* pvFrom, size_t size)
 {
    assert((pvTo != NULL) && (pvFrom != NULL));
    byte* pbTo = pvTo;
    byte* pbFrom = pbFrom;
    while (size-- > 0)
    {
       *pbTo++ = *pbFrom++;
    }
    return pvTo;
 }
2)将一个单链表逆序.(这个问题是个常规的数据结构问题.不过不小心时会损失效率)
3)客房预定的问题.根据客户报的人数,客房等级来从预备的客房中选择出所有符合要求的
客房 号.客户没有要求等级时,只考虑人数因素就可以了.要考虑有些客房已经预定的情况.
(写代码是要考虑好彼此的效率)
4)对于一个无序序列进行二分查找
线排序再查找
5)将一个数字字符串转换为数字."1234" -->1234
int convert(char* str)
{
   int k = 0;
   while (*str != '/0')
   {
      k = k * 10 + *s++ - '0';
   }
   return k;
}
6)在文件(调用库函数创建的,不用考虑数据库的方式)中读入信息(包括职工号,职工产量)
.根据输入的信息(包括职工号,职工产量)..检测是否有相同的职工号记录,如有,则增加其
产量 .如没有,则创建新的记录.最后的记录排序的依据是职工产量(降序),如果产量相同,则
按 职工 号(升序). (具体的题目记不太清了,这个题目有点长.哪位也去 笔试 了.请修正一下
子)
.
2.面试
1)找出两个中文句子的相似度.(例如"中国江苏南京" "江苏省中国南京市".实际上是指的
同一个地方.面试官的要求是一分钟给出求相似度的算法.)(幸好听老师讲过中文分词,要不
然当场就挂了)
2)写出二分查找的代码.
3)将上述代码通用化.(在 C 的规范内.就是我前面所的那个问题)
4)写出在母串中查找子串出现 次数 的代码.(不顾及效率时好说.当时一不留神把 KMP 说了
出来,结果又让我描述整个过程.汗..只好从头又学了.不过没有冷场,边学边说.hoho)
5)如何看待在 函数 中定义很多静态变量.
6)写出quick_sort
7)写出查找从一个集合中输出所有子集合的算法.
8)有关于各种类型指针.各种数据类型的 sizeof 运算结果( 在 C 中)
 
 
 
四、有关内存的思考题(每小题5分,共20分)

 

void GetMemory(char *p)

 

{

 

p = (char *) malloc(100);

 

}

 

void Test(void)
{
char * str = NULL;

 

GetMemory( str);  

 

strcpy( str, "hello world");

 

printf( str);

 

}

 

 

请问运行 Test函数会有什么样的结果?

 

答:试题传入GetMemory( char *p )函数的形参为字符串指针,在函数内部修改形参并不能真正的改变传入形参的值,执行完
char *str = NULL;
GetMemory( str );
后的str仍然为NULL;

 

 

 

 
char * GetMemory(void)

 

{   

 

char p[] = "hello world";

 

return p;

 

}

 

void Test(void)

 

{

 

char * str = NULL;

 

str = GetMemory();   

 

printf( str);

 

}

 

 

请问运行 Test函数会有什么样的结果?

 

答:可能是乱码。              char p[] = "hello world";      
     return p; 
的p[]数组为函数内的局部自动变量,在函数返回后,内存已经被释放。这是许多程序员常犯的错误,其根源在于不理解变量的生存期。

 

 
void GetMemory2(char **p, int num)

 

{

 

*p = (char *) malloc(num);

 

}
void Test(void)

 

{

 

char * str = NULL;

 

GetMemory(& str, 100);

 

strcpy( str, "hello");  

 

printf( str);   

 

}
请问运行 Test函数会有什么样的结果?

 

答:

 

(1)能够输出hello
(2 )Test函数中也未对malloc的内存进行释放。
(3)GetMemory避免了试题1的问题,传入GetMemory的参数为字符串指针的指针,但是在GetMemory中执行申请内存及赋值语句
*p = (char *) malloc( num );
后未判断内存是否申请成功,应加上:
if ( *p == NULL )
 {
   ...//进行申请内存失败处理
 }

 

 

 

 

 

 

 
void Test(void)

 

{

 

char * str = (char *) malloc(100);

 

    strcpy(str, “hello”);

 

    free(str);    

 

    if(str != NULL)

 

    {

 

     strcpy(str, “world”);

 

printf( str);

 

}

 

}
请问运行 Test函数会有什么样的结果?

 

答:执行
char *str = (char *) malloc(100);
后未进行内存是否申请成功的判断;另外,在free(str)后未置str为空,导致可能变成一个“野”指针,应加上:
str = NULL;

 

 

 

 

 

 

五、编写strcpy函数(10分)

 

已知 strcpy函数的原型是
 
C语言数组与指针常考笔试题(原题+解析+原码) ⭐️前面的话⭐️ 大家好!对于数组与指针你们会了吗?准备了一些相关的笔试题,测一测你全部会了吗?如果能轻松回答正确,恭喜你,指针与数组已经学得非常扎实了,超过了90%的同龄人! 阅读详情

相关推荐

【收藏】那些经典的C语言笔试题(含答案)

可以进来试试看哦~

qq_65102825的博客 2545

出现频率最高的笔试题

                          出现频率最高的笔试题    关键字:C++,strcpy,字符串,复制,拷贝,copy,笔试,试题    题目:    已知strcpy函数的原型是:        char * strcpy(char * strDest,const char * strSrc);    1.不调用库函数,实现strcpy函数。    2.解释为什么要返

cphj的专栏 2046

嵌入式linux工程师面试题目C语言基础部分

嵌入式linux工程师面试题目C语言基础部分,有利于面试linux工程师及其有帮助。

编程题四

1、编写内存拷贝函数,不用库函数 函数原型:void* memcpy(void *pvTo, const void *pvFrom, size_t size) 答: void my_memcpy(void *dest, const void *src, size_t size) { assert( dest !=NULL);//判断传入的是否为空 assert(src !=NULL);

BrotherJing8023的博客 539

经典嵌入式工程师面试C语言题目

嵌入式工程师必看,经典嵌入式工程师面试C语言题目,嵌入式工程师必看

kaggle注册以及数据集下载全流程

kaggle注册,数据集下载及常见问题

Arriteey的博客 2万+

写一个函数实现数组内容拷贝,要求不能使用库函数

//#include //#include //char * my_strcpy(char *dest,const char *src) //{  // char *ret=dest; // assert(dest!=NULL); // assert(src!=NULL); // while(*dest++=*src++) // { // ; // } // return r

喵喵的博客 822

中国IP发展之面面观

谢学军/邱善勤2006-1-25 9:29:28电子经理世界       IP远没有我们当初想象的那么简单   当SoC设计方法学刚刚传到国内的时候,学界为之欢呼雀跃,由于IP/SoC设计技术的使用,可以将发达国家用几年甚至十几年积累起来的设计技术直接为我所用,使中国的集成电路跳过漫长的积累阶段,迅速站到较高的起点上。因此在当时看来,IP/SoC设计技术是我国提升设计水平、发展

klxdmm305的专栏 1188

IT公司面试题(五)

1.设一棵完全二叉树有700个结点,则在该二叉树中有多少个叶子结点如果一棵具有n个结点的深度为k的二叉树,它的每一个结点都与深度为k的满二叉树中编号为1~n的结点一一对应,这棵二叉树称为完全二叉树。  可以根据公式进行推导,假设n0是度为0的结点总数(即叶子结点数),n1是度为1的结点总数,n2是度为2的结点总数,由二叉树的性质可知:n0=n2+1,则n= n0+n1+n2(其中n为完全二叉树的结...

weixin_33909059的博客 215

stm32最小系统_完成一个最小FOC矢量控制系统所需的基本模块和功能配置

当我们读懂 FOC 矢量控制的基本原理之后,便迫不及待的想动手尝试,去实现一个矢量控制系统,让电机先转起来,有一个直观的感受。因此,我们需要设计实现一个矢量控制的最小系统,具备矢量控制的基本功能,满足电机矢量运行的基本条件。首先,看一下矢量控制的基本架构:矢量控制架构如上图所描述,矢量控制系统包括实时电流的采集、clarke 变换、park 变换、SVPWM 、实时角度的反馈和计算以及电流环和速...

weixin_39524048的博客 1783

西门子 S7-200 SMART 系列六:手把手教你配置S7-200 SMART Modbus RTU

Modbus 是公开通信协议,其最简单的串行通信部分仅规定了在串行线路的基本数据传输格式。Modbus 具有两种串行传输模式,ASCII 和 RTU,它们定义了数据如何打包、解码的不同方式。支持 Modbus 协议的设备一般都支持 RTU 格式。

John_09040211的博客 7431

C-不用任何库函数,写一个内存拷贝函数

//拷贝长度为length字符串 char*myMemcpy(char* dest, const char* source, size_t length) {          char* ret = dest;     //  判是否为空   if (!source||!dest)  {         return dest;     }     while (*source

yanyanforest的专栏 2126

Windows 10下三菱PLC控件安装报错Error Number:-119的终极解决方案(附详细步骤)

本文针对Windows 10系统安装三菱PLC控件时常见的Error Number:-119报错,提供了深度分析与终极解决方案。文章剖析了该错误源于oleaut32.dll文件版本冲突,并详细介绍了通过设置兼容性模式、手动注册DLL、直接安装MX Component以及高级系统修复等多种方法,帮助用户彻底解决此安装难题,顺利搭建PLC开发环境。

weixin_29289821的博客 332

【C语言】指针笔试题

C语言指针笔试题,你值得观看 不看后悔

weixin_60478154的博客 8936

基于STM32L4XX、HAL库的 TMC2660C-PA 驱动程序设计

/ 默认灵敏度和电流。// 20/31最大电流。

zhusl6688的博客 384

医学图像的对抗攻击:模型安全性与鲁棒性分析

医学图像的对抗攻击:模型安全性与鲁棒性分析 ,人工智能,计算机视觉,大模型,AI,本文围绕医学图像的对抗攻击展开,分析了其对AI模型的威胁。介绍了对抗样本定义、攻击原理,以及FGSM、BIM、PGD等常见攻击方法,还给出了相关代码示例。阐述了攻击对模型诊断准确性和可信度的影响,提出对抗训练、输入预处理、模型集成等提升模型安全性与鲁棒性的方法,探讨了评估指标、数据集和流程,分析了实际应用中的挑战与应对策略,最后展望了未来发展趋势。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 18万+

【C语言】指针笔试题2

C语言指针笔试题解析摘要 本文通过5道典型C语言指针笔试题,深入解析指针运算、数组指针、强制类型转换等核心概念: 数组指针运算:&a+1跳过整个数组,ptr-1回退指向最后一个元素 结构体指针运算:不同类型指针加减运算的字节差异(结构体20字节 vs 无符号长整形) 内存布局分析:结合小端存储模式,解析强制类型转换后的指针访问(0x02000000) 逗号表达式陷阱:数组初始化中(0,1)实际值为1,影响后续元素访问 数组指针类型差异:int(*p)[4]与int[5][5]的指针运算差异导致-4的

suxi_na的博客 1160

FPGA JTAG接口设计全解析

JTAG是FPGA开发的核心接口,主要用于代码下载和在线调试。14-pin设计中包含TCK、TMS、TDI、TDO四个关键信号,采用信号-地布局增强抗干扰能力,TCK建议串联电阻。10-pin设计需注意转接适配,并推荐使用RCLAMP0524P等低电容TVS二极管进行ESD防护。两种接口设计都强调信号完整性和可靠性,建议PCB布局时保持JTAG走线短且预留调整空间。

在读研究生,FPGA电路设计与功能开发。 2181

C语言进阶之笔试题详解(2)

这里的内容包括二维数组笔试题和指针笔试题,供给读者对这部分知识进行加深和巩固。✨猪巴戒个人主页✨所属专栏《C语言进阶》🎈跟着猪巴戒,一起学习C语言🎈数组名的意义:1.sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小。2.&数组名,这里的数组名表示整个数组,去除掉是整个数组的地址。3.除此之外所以的数组名都表示首元素的地址。4.二维数组可以看作有多个一维数组组成,一维数组可以看作二维数组的每个元素,行数代表制二维数组的意思个数,列数代表一维数组的元素个数。

2302_79491024的博客 2122

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

c语言笔试题

c语言笔试题(十) 2006-09-06 Tag: C语言 【1 使用宏】 1.1   #ifdef NDEBUG    #define TRACE(S) S   #else    #define TRACE(S) printf("%s;/n", #S); S

山顶洞 1360

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

招聘笔试c语言题目,c招聘笔试题

C语言绘图能力强,具有可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。下面就由学习啦小编为大家介绍一下c招聘笔试题的文章,欢迎阅读。c招聘笔试题篇11. 改错(5分)void test(){char str[10];char_ str1 = "0123456789"; strcpy(str, str1); }2.改错(5分)void test...

weixin_42471893的博客 817

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

一些C语言笔试题

一些C语言笔试题                                       一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分) 请写出 BOOL flag 与“零值”比较的 if 语句。(3分)

gaoliang0807的专栏 1469

《c语言深度解剖》--一套非常经典的笔试题

《c语言深度解剖》的经典笔试题,具有极强的检验性

如果需要沟通,可添加微信公众号找我免费答疑 1689

深入C语言:指针与数组的经典笔试题剖析

是C语言中的一个操作符,用于计算变量或数据类型所占内存空间的大小,单位是字节。它不关心内存中存储的具体数据内容,只关注内存空间的大小。是C语言标准库中的一个函数,用于计算字符串的长度。计算的是两个指针之间的元素个数差,结果为-4。从传入的字符串指针开始,向后查找直到遇到。的初始化使用了逗号表达式,实际初始化为。是结构体指针,结构体大小为20字节,会继续向后查找,可能导致越界访问。是第一行最后一个元素,值为5。会继续向后查找,直到遇到。是最后一个元素,值为10。的结果是不确定的,因为。是最后一个元素地址,

2201_76027234的博客 3399
上一篇: linux程序员笔试题
下一篇: 2006专升本政治
spring_06
博客等级 码龄15年 7粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值