![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
文章平均质量分 60
小夫敲代码
这个作者很懒,什么都没留下…
展开
-
C语言之字符串左旋的两种方法(三步翻转法)(寄存前移法)
字符串左旋题目内容:实现一个函数,可以左旋字符串中的k个字符。例如:ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB三步翻转法的原理:根据原理,我们可以有以下代码:#include <stdio.h>#include <string.h>#include <assert.h>void reverse(char* left, char* right){ assert(left); assert(right);.原创 2022-03-23 19:15:35 · 1398 阅读 · 0 评论 -
C语言之指针笔试题
先上题目:#include <stdio.h>int main(){ char* c[] = { "ENTER","NEW","POINT","FIRST" }; char** cp[] = { c + 3,c + 2,c + 1,c }; char*** cpp = cp; printf("%s\n", **++cpp); printf("%s\n", *-- * ++cpp + 3); printf("%s\n", *cpp[-2] + 3); printf("%.原创 2022-03-22 22:32:36 · 1049 阅读 · 0 评论 -
C语言之a,a+1,a[0],a[0][0],&a,&a[0],&a[0][0],*a,*(a[0]),*(a[0][0]),*(a[0]+1)...等等地址与数组元素的关系
最近我做了一些指针数组笔试题,感觉地址和数组元素的关系非常的冗杂,所以我打算整理一下,这篇文章我会先做一些总结,后续的文章会将面试题一一奉上,那我们现在进入正文。第一点,最基础的结论1. sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小。2. & 数组名,这里的数组名表示整个数组,取出的是整个数组的地址。3. 除此之外所有的数组名都表示首元素的地址。明白以上两种特殊情况,我们可以知道出第一,二点的内容,其他地方我们将数组名理解为首元素的地址,但是这其中又有..原创 2022-03-22 13:25:18 · 1892 阅读 · 1 评论 -
C语言之sizeof的陷阱
这篇文章主要来讲解一下sizeof的一些陷阱,那么开头先来一道面试的题目:int main(){ int a[3][4] = { 0 }; printf("%d\n", sizeof(a[3])); return 0;}这段代码看似简单,但其实大有文章,接下来我来为大家进行分析:首先a是数组名,且该数组是一个二维数组,代表的是三行四列的数组,如下图:如图所示,该二维数组只有三行,而a[3]代表的则是第四行,此时肯定很多人都会觉得这个代码将会出现运行错误,但其实这个代码的运行结原创 2022-03-19 13:02:49 · 393 阅读 · 0 评论