面试
poinsettia
这个作者很懒,什么都没留下…
展开
-
写一个程序,读入一行字符(可能包含空格),使用printf计算字符数量。
#include <stdio.h>int main() { char str[100] = {0}; while(scanf("%[^\n]s", str) != EOF) { // %[^\n]s 可以读入除了\n以外的字符 getchar(); // 过滤掉 \n printf(" has %d characters\n", printf("%s", str)); } retu原创 2020-11-17 22:32:51 · 369 阅读 · 1 评论 -
C语言中数据类型的隐式转换
四种情况下的隐式转换算术运算式中,低类型能够转换为高类型。赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。算术运算中的隐式转换验证代码#include <iostream>#include <typeinfo>using namespace std;int main() { cou原创 2020-11-17 15:38:42 · 917 阅读 · 0 评论 -
Linux系统编程——进程和线程的区别与联系
在许多经典的操作系统教科书中,总是把进程定义为程序的执行实例,它并不执行什么, 只是维护应用程序所需的各种资源,而线程则是真正的执行实体。为了让进程完成一定的工作,进程必须至少包含一个线程。进程,直观点说,保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以进程为单位,分配系统资源,所以我们也说,进程是资源分配的最小单位\color{red}{进程是资源分配的最小单位}进程是资源分配的最小单位。更多详情,请看《进程转载 2020-11-17 14:56:24 · 141 阅读 · 0 评论 -
calloc、malloc、realloc函数的区别及用法!
三者都是分配内存,都是stdlib.h库里的函数,但是也存在一些差异。(1)malloc函数。其原型void *malloc(unsigned int num_bytes);num_byte为要申请的空间大小,需要我们手动的去计算,如int *p = (int )malloc(20sizeof(int)),如果编译器默认int为4字节存储的话,那么计算结果是80Byte,一次申请一个80Byte的连续空间,并将空间基地址强制转换为int类型,赋值给指针p,此时申请的内存值是不确定的。(2)calloc转载 2020-11-17 09:59:52 · 115 阅读 · 0 评论 -
某司二面总结
流程逻辑题6道+编程题2道技术面1小时逻辑题6道有2个圆环,大圆半径为2,小圆半径为1,小圆在大圆内绕大圆一圈,小圆绕几圈? 如果小圆在大圆外面绕呢?24小时内,时针、分针、秒针重合多少次,分别是几点,如何计算的?给定一杯牛奶和一个吸管,如何倒出牛奶的一半。密码锁,有4位,长期使用密码锁会留印记,问是4位数做密码更安全,还是3位(一共4位,其中2位重复)更安全。你是一个程序员,如何设计灯光,创造雨是静止的感觉。参加一个节目,有三个门,一个门里面是车,两个门里面是羊。先选择一个门原创 2020-11-16 18:30:04 · 209 阅读 · 1 评论