随笔分类 - C/C++语言
摘要:同为今天下午360的一道面试题。通过模2判断最后一位是否为1,为1则COUNT++,然后除2(相当与将该数右移一位),循环;最终求出结果。实现如下:(C实现)#include<stdio.h>void main(){int i,count=0;i=15;do{if((i%2)!=0) //判断末尾是否为1{count++; //末尾为1则count++}i=i/2; //i除2,相当于右移一位}while(i>=1);printf("1的个数为%d\n",count); //输出结果}
阅读全文
摘要:今天中午360的面试官提的一个问题:宏定义的缺点。下面是别人文章关于这个问题的讨论,转载》当时没答出来,只知道如果某个常量或者函数名很长的时候可以用宏定义做替换,这样的话程序也会比较美观一点,可读性也大大增强了。其实在用VC编程的时候就会遇到很多宏定义,尤其是类似“LONG,LPCTSTR”等等之类的,它们属于微软的自定义类型,但其本质上还是属于C/C++里面的那几个标准类型。那用宏定义到底有什么好处呢?先来看一下宏的定义:用#define命令将一个指定的标识符(即宏名)来代表一个字符串。它的一般型式为:#define 表示符 字符串#define命令属于“预处理命令”中的一种。它是由C++.
阅读全文
摘要:c++内存到底分几个区?一:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由os回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放。4、文字常量区 —常量字符串就是放在这里的。 程序结束后由系统释放。5、程序代码区—存放函数体的
阅读全文

浙公网安备 33010602011771号