两道C语言面试题

C语言动态内存块两道面试题 C语言动态内存块两道面试题 题目一: void GetMemory(char* p) { p = (char*)malloc(100); } void Test(void) { char* str = NULL; GetMemory(str); strcpy(str, "hello world"); printf(str); } 结果,程序崩溃 错误一: 在堆区开辟空间,未进行释放。 错误二: 没有判断是否开辟成功 错误三: 指针传参会发生临时拷贝 在调用GetMemory函数时,p指针是str 阅读详情

1、如果已知一个数的阶乘的结果不大于10的4次方,则可以设置一个矩阵b[4]存放每个位。
例如,5!=120,则,b[0]=0,b[1]=2,b[2]=1,b[3]=0。
给出一个求阶乘的方法:如果已知K的阶乘,求K+1的阶乘时,
可用矩阵b的每一位去乘以(k+1),如果结果大于9,就进位到前一位,直到所有的位都小于等于9
问:(1)、如果是b[100],写出完整的求阶乘的程序
(2)、完善程序,要求判断输入是不是满足要求的
(3)、用几组数据测试程序

看问题目就知道用什么方法了吧:递归,对就是这个。

typedef unsigned char byte;
byte bBuffer[100]={0};
void Fun(int nIndex)
{
	if(1==nIndex)
		bBuffer[99]=1;
	else
	{
		Fun(nIndex-1);
		byte bFormal=0;
		byte bTemp=0;
		for(int i=99;i>=0;--i)
		{
			 bTemp=bBuffer[i]*nIndex+bFormal;
			 bFormal=0;
			 if(bTemp>9)
			 {
				 bBuffer[i]=bTemp%10;
				 bFormal=bTemp/10;
			 }
			 else
				 bBuffer[i]=bTemp;
		}
	}
}
void ShowBuffer()
{
	for(int i=0;i<10;++i)
	{
		for(int j=0;j<10;++j)
			printf("%d ",bBuffer[i*10+j]);
		printf("\n\n");
	}
}

2、已知一个链表的头结点指针pHead,链表共有3n个元素,n>0且n为未知数。
只用一次遍历求链表的第n、2n个元素值并打印出。

//方法一:用一个容器装下所有的元素,并计数

LIST<int>* pHead=g_pHead->pNext;
	int n=0;
	vector<int> data;
	while(pHead)
	{
	   n++;
	   data.push_back(pHead->data);
	   pHead=pHead->pNext;
	}


//方法二 前后三个指针,前面的指针前进一步,后面的指针就前进两步 ,最后的那个指针前进三步

LIST<int>* pFront,*pMid,*pTail;
	pFront=pMid=pTail=g_pHead->pNext;
	LIST<int>* pValue1=NULL,*pValue2=NULL;
	while(pTail)
	{
		for(int i=0;i<3;++i) //每回只前进三步
			pTail=pTail->pNext;
		pValue1=pFront;//保存前一个指针 
		pFront=pFront->pNext;//每回只前进一步
		pMid=pMid->pNext;
		pValue2=pMid;//保存前一个指针
		pMid=pMid->pNext;
	}

完整代码见下面:

#include "stdafx.h"
#include <iostream>
#include <vector>
#include <time.h>
using std::vector;

/*1、如果已知一个数的阶乘的结果不大于10的4次方,则可以设置一个矩阵b[4]存放每个位。
例如,5!=120,则,b[0]=0,b[1]=2,b[2]=1,b[3]=0。
给出一个求阶乘的方法:如果已知K的阶乘,求K+1的阶乘时,
可用矩阵b的每一位去乘以(k+1),如果结果大于9,就进位到前一位,直到所有的位都小于等于9
问:(1)、如果是b[100],写出完整的求阶乘的程序
(2)、完善程序,要求判断输入是不是满足要求的
(3)、用几组数据测试程序*/

typedef unsigned char byte;
byte bBuffer[100]={0};
void Fun(int nIndex)
{
	if(1==nIndex)
		bBuffer[99]=1;
	else
	{
		Fun(nIndex-1);
		byte bFormal=0;
		byte bTemp=0;
		for(int i=99;i>=0;--i)
		{
			 bTemp=bBuffer[i]*nIndex+bFormal;
			 bFormal=0;
			 if(bTemp>9)
			 {
				 bBuffer[i]=bTemp%10;
				 bFormal=bTemp/10;
			 }
			 else
				 bBuffer[i]=bTemp;
		}
	}
}
void ShowBuffer()
{
	for(int i=0;i<10;++i)
	{
		for(int j=0;j<10;++j)
			printf("%d ",bBuffer[i*10+j]);
		printf("\n\n");
	}
}
/*已知一个链表的头结点指针pHead,链表共有3n个元素,n>0且n为未知数。
只用一次遍历求链表的第n、2n个元素值并打印出。
*/

template<class T> struct LIST 
{
	T		data;//数据存储区
	LIST<T>*	pNext;//保存下一个节点的地址
};
LIST<int>* g_pHead=NULL;
int	g_nCount=0;
void CreateList(LIST<int>* pHead)
{
	printf("开始构造链表…………\n");
	if(NULL==pHead)//构造头结点
	{
		pHead=new LIST<int>;
		g_pHead=pHead;
		pHead->data=0;
	}
	while(!g_nCount)
		g_nCount=(rand()%20)*3;
	LIST<int>* pTemp=pHead;
	LIST<int>* pItem=NULL;
	for(int i=0;i<g_nCount;++i)
	{
	   pItem=new LIST<int>;
	   pItem->data=rand()%100;
	   pItem->pNext=NULL;
	   pTemp->pNext=pItem;
	   pTemp=pItem;
	}
	printf("链表构造完成…………\n");
}
void FreeList(LIST<typename>* pHead)
{
	LIST<typename>* pTemp=NULL;
	while(pHead)
	{
		pTemp=pHead;
		pHead=pHead->pNext;
		delete pTemp;
	}
}
void ShowList(LIST<int>* pHead)
{
	LIST<int>* pTemp=pHead->pNext;
	int nCount=0;
	while(pTemp)
	{
		nCount++;
		printf("第%d个元素值是:%d\n",nCount,pTemp->data);
		pTemp=pTemp->pNext;
	}
	printf("当前链表中共有%d个元素,申请的空间数是%d\n",nCount,g_nCount);
}

int _tmain(int argc, _TCHAR* argv[])
{
	srand((unsigned int)time(NULL));
// 	Fun(200);
// 	ShowBuffer();
	CreateList(g_pHead);
	//方法一:用一个容器装下所有的元素,并计数
	LIST<int>* pHead=g_pHead->pNext;
	int n=0;
	vector<int> data;
	while(pHead)
	{
	   n++;
	   data.push_back(pHead->data);
	   pHead=pHead->pNext;
	}
	printf("\n======================================================\n方法一:\n");
	printf("3n=%d,第%d个数是%d,第%d个数是%d\n",n,n/3,data[n/3-1],n/3*2,data[n/3*2-1]);
	//方法二 前后三个指针,前面的指针前进一步,后面的指针就前进两步	,最后的那个指针前进三步
	printf("\n======================================================\n方法二:\n");
	LIST<int>* pFront,*pMid,*pTail;
	pFront=pMid=pTail=g_pHead->pNext;
	LIST<int>* pValue1=NULL,*pValue2=NULL;
	while(pTail)
	{
		for(int i=0;i<3;++i) //每回只前进三步
			pTail=pTail->pNext;
		pValue1=pFront;//保存前一个指针 
		pFront=pFront->pNext;//每回只前进一步
		pMid=pMid->pNext;
		pValue2=pMid;//保存前一个指针
		pMid=pMid->pNext;
	}
	printf("第n个元素值是%d,第2n个元素值是%d\n\n",pValue1->data,pValue2->data);
	ShowList(g_pHead);
	FreeList(g_pHead);
	return 0;
}


为了测试我们用上面的方法是否正确才用全局变量保存下随机生成的数。
 

两道面试题所引发的C指针的思考 实际上这道题考察的是大家对于指针的掌握和ascii的一些知识:大家一定要理解*argv[i]意思,如果不注意可能会认为是取命令行参数的第二个字符串的值,其实不然,这样理解的话大家对于指向一个字符串的字符指针的的不理解,指向一个字符串的字符指针实际上是指向一个字符串首字符的地址,命令行参数输入的12 345 678看似数字,实际上是一个个字符串,*argv[i]的意思也就是取各自字符串的首字符也就是取1、3、6,说到这里这道面试题也就引刃而解了。一下的代码段是否正确,如果正确结果是什么?如果不正确如何改正? 阅读详情

相关推荐

MS1861宏晶微视频显示与控制器芯片:开发资料全解析与应用指南

本文全面解析了宏晶微MS1861视频显示与控制器芯片的核心功能与开发流程。该芯片作为高性能的“视频信号翻译官”,支持HDMI、LVDS等多种输入与MIPI、LVDS等输出,集成强大的图像处理与OSD叠加功能。文章详细介绍了从资料获取、环境搭建到以HDMI转MIPI为例的实战配置与调试技巧,为工业HMI、广告机等应用的开发者提供了完整的应用指南。

weixin_29198045的博客 337

难得的c语言经典面试题

• 变量的生存期,栈和堆的区别,变量的初始化问题,传指针和传值的实质 传指针的实质是传值,传值的时候,我们是做了一个复制品.在函数中只是对复制品在操作.进入函数和返回函数都是这个道理,经历了一个复制的过程.举个例子(csdn上的一个例子),这个程序的作用是从控制台读取两个数,存到数组中,然后输出.但这两种方式中有一种是错误的. #include <stdio.h> #inc...

usstmiracle的博客 804

从零开始安装pytorch(包含GPU和CPU版本的安装)

Pytorch是。

qiaoxinyu1989的博客 8万+

史上最全C/C++面试题汇总

总结一些常见面试题,包括准备面试查阅的和自己实际面试中遇到的。不建议全篇的去背面试题,要学会将面试的知识点进行分类总结,聚合成一块块的知识点,然后去学习串联,推荐《王道程序员面试宝典》这本求职复习书籍,应付一般小厂的面试绰绰有余,内容很全面,建议反复阅读记忆。

weixin_44816732的博客 2万+

微软Media Creation Tool 创建工具 1.3 升级:支持全新下载安装Win11 22H2 Build 22621.525

微软 Media Creation Tool 创建工具 1.3 升级:支持全新下载安装 Win11 22H2 Build 22621.525 ISO 镜像,如果今天运行使用 Media Creation Tool,则会下载 Windows 11 2022 版本 Build 22621.525,它不会向操作系统添加任何新内容,但会修复安装问题,下面来看看详细的更新内容。

zym0218的博客 4230

ESP32语音交互实战:离线唤醒与DeepSeek大模型集成

本文详细介绍了如何将ESP32-S3开发板与天问ASRPRO语音模块结合,实现离线语音唤醒并集成DeepSeek大模型的智能交互系统。通过串口通信与API调用,系统可处理本地指令及复杂语义请求,适用于低成本、高隐私保护的AIoT语音交互场景。

rust6ferris的博客 867

C语言

   最近因为找工作,收集了很多C语言方面方面的面试题以及答案。现在新工作搞定了,决定把这些资料发出来,送给有需要的朋友,免得再象我一样到处搜寻,实在辛苦。发布之前先申明两点:    1 所有资料来自网络(主要是优快云),本人只是收集和转发。    2 所有问题解答(尤其是代码)只是参考,不保证正确。先发基本问题,再发编程问题..........]]>         白日?做梦!   

3157

rk3568 rockit编译测试

编译rockit不能使用SDK默认编译kernel的交叉编译,需要采用编译buildroot的,而编译buildroot的编译器SDK并没有存放,需要编译过buildroot之后才可以用。命令参数相关解析可查阅代码,这里提醒一下-l参数,这是程序运行计数,默认是100,时间很短,基本上显示画面一闪而过,一度以为是程序哪里出问题了,改用-l 1000,画面显示时间加长。此处跳过系统,单领出来编译。rockit组件包在4.10版本需要手动编译,奈何我的版本怎么都编译不了,后来改用5.10版本才编译通过。

zfenggo的博客 4196

c语言架构师面试题,考察新人的两道c语言题目

1> 如何判断一个板子的cpu 是big-endian 还是 Little-endian的?用c实现非常简单,10行左右,就可以判断了, 关键考察新人是否了解了什么是endian ,big-endian与little-endian的区别在哪里, 如果这些不清楚,就算c再强,也是憋不出来的。2> 判断了 endian 后, 如何进行转换, 写两个函数。如果说上面的那个, 可能不能正确的考...

weixin_27268733的博客 288

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)算法背景介绍Hessian 矩阵与泰勒多项式关于求t导数与中心点、亚像素点高斯函数作用文献 算法背景介绍 在线结构光视觉传感器中,由线激光器发射出的线结构光,在本质上为一个连续且具有一定厚度的空间光平面,而在目标表面上所形成的具有一定宽度的光条特征,即为该光平面与目标表面相交而成的交线。在该空间光平面的厚度方向上,光强近似服从高斯分布,因而在摄像机采集到的光条图像中,在沿着光条宽度的方向或光条的法线方向上,其灰度也会呈现出类似

jiangxing11的博客 1万+

PCL1.12.1+VTK9.1+Qt5.14.2实战:解决QVTKOpenGLNativeWidget点云渲染窗口初始化报错问题

本文针对PCL1.12.1、VTK9.1与Qt5.14.2集成开发中,QVTKOpenGLNativeWidget点云渲染窗口初始化时出现的报错与黑屏问题,提供了深度分析与两种实战解决方案。核心在于理解VTK版本升级导致的渲染窗口类型不匹配,并指导开发者通过显式创建vtkGenericOpenGLRenderWindow或利用窗口ID嵌入,正确初始化并绑定可视化组件,从而稳定实现点云渲染。

weixin_29284657的博客 221

C语言 两道位操作的面试题

1、把一个32位的数按位反转,就是第32位转到第1位,第31位转到第2位………… 什么样的算法最节省效率? 参考http://www.yuanma.org/data/2007/0723/article_2763.htm unsignedint bit_reverse(unsignedint n) {        n =((n >> 1)& 0x55555555)|((n

fay8048的博客 2153

C#:实现统计图像主颜色的算法(附完整源码)

C#:实现统计图像主颜色的算法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 517

C语言面试题---指针篇(二)

原创2017-12-22创新教育研究中心TeachPlus C语言面试题---指针篇(二) 在上一篇中,我们介绍了关于内存分区的划分,那么现在我们就来看一道跟这个相关的面试题: 阅读下面的程序,找出其中的错误,并说明原因。 # include int main() { char *str = "abcd"; str[2] = "f"; printf(

study_plus的博客 2522

efm32 入门.pdf

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

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

C语言面试题小练——第2天:两个顺序字符串合并、求字符串最大连续相同的字符个数

两个顺序字符串合并、求字符串最大连续相同的字符个数

Super辉sir的博客 1263

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

c 复杂的前置后置面试题_c 高级面试题目【精选】

c高级面试题目1、有一分数序列:1/2,1/4,1/6,1/8„„,用函数调用的方法,求此数列前20项的和#includedoublegetvalue{doubleresult=0;inti=2;while{result+=/i;s://一定要使用做除数,不能用1,否则结果将自动转化成整数,即i+=2;}returnresult;}intmain{printf);sy...

weixin_39933356的博客 117

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【c语言从入门到精通】c语言原来一点都不难!位操作符你学会了嘛?(小白快进)

在学习c语言时,我们一定会遇到关于位操作符的相关知识,很多新手小白不太理解位操作符的运算法则和运用逻辑,今天这篇博客将会将所有知识点进行归纳总结,其中还包括几道练习题帮助大家更好地理解位操作符的运用~~下面,请各位老司机坐稳扶好,我们要开车啦~~~~

2301_78320637的博客 158

【Leedcode】数据结构中链表必备的面试题(第一期)

链表必备的面试题 (附图解+源码)(第一期),一会不断地更新数据机构以及Leedcode上的一些面试题!

铭哥不写bug的博客 754

中兴通讯2012校园招聘一道面试题---之我的解法

看到网上的中兴这两道面试题,感觉出的还不错的,尝试的解答下: 1)写一个模板函数,交换两个实参的值,并写出对这两个实参有什么要求;   template   T swap(T &param1 ,T &param2) {    T tmp=param1;    Param2=param1;    Param1=tmp; }   调用的时候,注意交换的实参的类型必须一致

smilestone322的专栏 1555

【C语言】滑动窗口算法实战:从原理到高频面试题解析

本文深入解析C语言中的滑动窗口算法,从基本原理到高频面试题实战,涵盖无重复字符的最长子串和最小覆盖子数组等经典问题。通过详细的代码示例和优化技巧,帮助开发者掌握这一高效算法,提升编程面试通过率。

weixin_30872337的博客 407

[解题报告]《C语言入门100例》(第7例) 给定 n,求 1 × 2 × 3 × ... × n 的乘积

零、写在前面 这个系列不经常更新,今天这个题目又觉得有点意思,我们一起看一看,主要知识点在 《C语言入门100例》(第7例) n!https://blog.youkuaiyun.com/WhereIsHeroFrom/article/details/118208252 一、主要知识点 1.给定 n,求 1 × 2 × 3 × ... × n 的乘积 int ans = 0,n; while(n) { ans *= n; ...

XingleiGao的博客 1149

指针数组和数组指针的复杂应用分析

.codearea{ color:black; background-color:white; line-height:18px; border:1px solid #4f81bd; margin:0; width:auto !important; width:100%; overflow:auto; text-align:left; font-size:12px; fo...

weixin_30361641的博客 126

union--一道经典的C++笔试题

原文:http://blog.youkuaiyun.com/rjw1900/article/details/6402023 今天看了这个面试题,想了好久才想明白,自己研究了一下,与大家分享 原题: [c-sharp] view plaincopyprint? #i nclude    union   {   int i;  

u012579879的专栏 1318
上一篇: C++实现一个简单的异常日志记录类
下一篇: vector内存机制和性能分析
疯狂-的-蜗牛
博客等级 码龄16年 427粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值