自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 关于“warning LNK4099: 未找到 PDB“vc90.pdb”的解决办法

一、在VS2008工程中,经常出现warning LNK4099: 未找到 PDB“vc90.pdb等问题,解决办法如下:1. 在项目属性—C/C++—输出文件—程序数据库文件名后面填写$(IntDir)\vc80.pdb。2. 在项目属性—连接器—调试—生成调试信息后面改成“否”。二、出现:mt.exe : general error c101008d: Failed to

2015-11-23 10:04:23 6982

转载 C/C++中long long与__int64的区别

在C99标准(详情请猛击:C语言的发展及其版本)中,增加了对64位长整型数据的支持,它的类型就是 long long,占用8个字节。由于C99标准发布较晚,一些较老的C/C++编译器不支持,新编译器对C99的响应也没有想象地积极,导致当前主流的C/C++编译器对64位长整型的支持不统一,形态各异。一般来说,64位整型的定义方式有 long long 和 __int64 两种(V

2015-11-19 10:35:50 1143

转载 关于形如--error LNK2005: xxx 已经在 msvcrtd.lib ( MSVCR90D.dll ) 中定义--的问题分析解决

首先像这边博文的作者qinfengxiaoyue致敬。1.问题引出很久没有写程序设计入门知识的相关文章了,这篇文章要来谈谈程序库 (Library) 链接,以及关于 MSVC 与 CRT 之间的种种恩怨情仇。如果你使用的操作系统是 Linux、Mac 或其他非 Windows 平台,你可以忽略这篇文章;如果你使用的操作系统是Windows 平台,

2015-11-17 09:24:44 739

转载 网络的分层结构及各层功能

一、OSI七层模型 & 常见五层模型   OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器(网络层),交换机(数据链路层)。OSI 七层模型是一种框架性的设计方法 ,建立七层模型的主要目的是为解决异种网络互连时

2015-10-22 09:13:09 8662 1

原创 Flip Game-1753

Flip GameTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 35785Accepted: 15628DescriptionFlip game is played on a rectangular 4x4 field with two-sided p

2015-10-20 15:14:58 407

转载 C++sort函数的用法

C++sort函数的用法近来看了c++标准库这本书,学到了很多,就把这其中的一点C++sort()函数的用法写下来和大家分享吧!(一)为什么要用c++标准库里的排序函数Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效

2015-10-12 17:11:50 327

翻译 Orders - 1731

OrdersTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 9954Accepted: 6053DescriptionThe stores manager has sorted all kinds of goods in an alphabetical

2015-10-12 16:45:23 324

原创 Just the Facts - 1604

Just the FactsTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 9118Accepted: 4795DescriptionThe expression N!, read as "N factorial," denotes the produc

2015-10-10 10:14:21 456

原创 放苹果 - 1664

放苹果Time Limit: 1000MSMemory Limit: 10000KTotal Submissions: 28656Accepted: 18127Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。

2015-10-08 16:02:48 252

原创 Eva's Problem - 1658

Eva's ProblemTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 17902Accepted: 10954DescriptionEva的家庭作业里有很多数列填空练习。填空练习的要求是:已知数列的前四项,填出第五项。因为已经知道这些数列只可能是等差

2015-10-08 15:26:50 275

原创 The Suspects - 1611

The SuspectsTime Limit: 1000MSMemory Limit: 20000KTotal Submissions: 28282Accepted: 13780DescriptionSevere acute respiratory syndrome (SARS), an atypical pneumo

2015-09-29 13:12:34 215

原创 A Contesting Decision - 1581

A Contesting DecisionTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 2711Accepted: 1915DescriptionJudging a programming contest is hard work, with dema

2015-09-28 13:57:28 409

原创 Perfect Cubes - 1543

Perfect CubesTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 14448Accepted: 7584DescriptionFor hundreds of years Fermat's Last Theorem, which stated si

2015-09-25 16:30:58 331

原创 u Calculate e - 1517

u Calculate eTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 19242Accepted: 11267Special JudgeDescriptionA simple mathematical formula for e is 

2015-09-25 15:55:25 232

原创 Factorial-1401

FactorialTime Limit: 1500MSMemory Limit: 65536KTotal Submissions: 15167Accepted: 9368DescriptionThe most important part of a GSM network is so called Base Trans

2015-09-25 15:20:27 306

原创 对终端输入的行内容进行字典排序并把结果输出出来

案例描述:从终端输入一些字符,每行不超过1000个,一共不超过5000行,对输入的行进行字典排序,并把排序的结果按照顺序输出出来。案例关键:1.指针数组和二维指针的应用;2.字典排序的算法,用快速排序。3.对输入输出的处理。实现代码如下:/***********************************************************************

2015-09-23 15:35:03 948

原创 Self Numbers

Self NumbersTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 22335Accepted: 12567DescriptionIn 1949 the Indian mathematician D.R. Kaprekar discovered a

2015-09-21 17:21:02 353

转载 10个经典的Android开源应用项目,提高你的开发能力

Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开源项目,贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式。下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意,也可以直接掌握 Android内核的接口使用。

2015-09-21 11:05:06 313

转载 如何成为一个牛逼的高级资深JAVA开发攻城狮

路漫漫其修远兮!抓紧吧!需要学习的工具和内容如下:1.Core Java部分这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下:a.面向对象编程思想(封装继承多态接口)b.字符串处理c.java.lang包,java.util包等常用包4.java异常处理2.Java高级部分a.Java I/O流b.J

2015-09-21 10:59:51 858 1

原创 学习笔记03

----------20150812----------------1.定义一个数组a[100][100]后,最好在一个函数中不要定义int a,此时会发生地址冲突,编译器会认为a和数组的地址有关系,寻址会发生错误。2.对于多个整数输入,比如scanf("%d",&a[i]);输入一个数字后,按一个空格,才算一个数,如果不按空格,比如输入111,其实是输入了一个数字,空格是程序响应的标志。

2015-09-21 09:51:05 277

原创 学习笔记01-关于extern和ifndef-def

----------20150907----------------1.关于extern "C"的使用,比如ZC的dobj模块:#ifndef _DOBJ_H_#define _DOBJ_H_#include "dobjDef.h"#include "obcu.h"#ifdef __cplusplusextern "C"{#end

2015-09-21 09:49:46 301

原创 学习笔记02

----------20150913----------------1. 函数参数 a[]和*a为啥是一样的?即fun(char a[])和fun(char *a)是一样的找了一个比较好的分析:最近的项目中有不少c的程序,在与项目新成员的交流中发现,普遍对于char *s1 和 char s2[] 认识有误区(认为无区别),导致有时出现“难以理解”的错误。一时也不能说得很明白,网上

2015-09-21 09:46:27 262

原创 自己用10分钟写了一个猜数字的小游戏娱乐室友

数字为整数,范围为[0,1000],游戏关键点在于怎么样获取一个0到1000的随机数,并且每次随机数都不相同,代码实现如下:/*********************************************************************** Copyright (c) 2015,wangzp All rights no reserved.

2015-09-19 16:54:46 560

转载 无符号数向有符号数自动转化问题

1. 关于无符号数向有符号数自动转化问题:

2015-09-19 16:49:15 417

原创 关于强制转化后的风险

char i = 3; char *q = &i;long *p = (long *)(&i);q的值为0x0013ff63;q的内容为3;p的值为0x0013ff63;p的内容为-858993661;都是i的地址为什么结果不一样?虽然q和p都为指针,但是q为char类型,而p为long类型,强制转换时,地址被强行扩大,而这些扩展的地址里内容未知,从而为不确定的值。

2015-09-19 16:48:06 483

原创 常见的排序算法

排序算法是面试笔试中必定要涉及的内容,常见的排序算法有:插入排序,冒泡排序,选择排序,快速排序,堆排序,希尔排序,归并排序,基数排序等,下面是我自己针对这几种算法进行一些总结和实现。(1)按照时间性能来分,可以划分为三类排序算法:1. O(nlogn): 快速排序,堆排序,归并排序,其中以快排为最佳;2. O(n2): 直接插入排序,冒泡排序,简单选择排序,其中以直接插入排序为最佳

2015-09-19 16:47:15 325

原创 二级指针和野指针

1. 关于二级指针例如:char **p;这里定义了一个二级指针变量p,p是一个指针变量,毫无疑问在32位系统下占4个byte。它与一级指针不同的是,一级指针保存的是数据的地址,二级指针保存的是一级指针的地址,布局如下:2.“数组参数”和等效的“指针参数”a. void fun(char a[3][4]); 等效为:void fun(char (*p)[4]);b.

2015-09-19 16:46:17 523

原创 关于强制转换

1. a和&a的区别:&a是整个数组的首地址,a是数组首元素的首地址,其值相同,但是意义不同。eg:char a[5] = {'A','B','C','D'};char (*p1)[5] = &a; //没有问题,char (*p1)[5]是数组指针,指向数组a[5]的首地址。char (*p2)[5] = a; //编译出错,提示类型无法从“char [5]”转换为“char

2015-09-19 16:45:42 237

原创 道不尽的“指针”和“数组”

1. 一个基本的数据类型(包括结构体等自定义类型)加上“*”就构成了一个指针类型的模子。这个模子的大小是一定的,与“*”前面的数据类型无关,“*”前面的数据类型只是说明指针所指向的内存中存数的数据类型。所以在32位系统下,不管是什么样的指针类型,其大小都是4byte,void *也不例外。2. 以指针的形式访问和以下标的形式访问:例如:char *p = "abcdef

2015-09-19 16:44:47 211

原创 一个复杂宏定义的解读

我们不提倡在写代码的时候出现太多负责的宏定义,宏定义虽然可以简化代码量,但是读起来非常费劲!下面来看一个例子:把一个buff中的数据拷贝到一个指定的数组中。由于种种原因,我们用宏定义来实现这些负责的转化。代码如下:#include "stdafx.h"#include "string.h"typedef unsigned char uint8_t;#define rxbuff

2015-09-19 16:43:26 1128

原创 关于预处理#

1. 能用宏定义开始或者结束一段注释吗?例如:#define BSC //#define BMC那么:BSD my single-line commentBMC my single-line comment EMC正确吗?答案是不正确的,这是因为注释先于预处理指令被处理,当这两行被展开成//...或者时,注释已被处理完毕,此时再出现替换而成的//或者自然会发生错误。

2015-09-19 16:41:02 333

原创 运算优先级等几个小问题总结

1. '1'、"1"和1在32位系统中占用空间大小一样吗?答案:不一样,1占4个字节,'1'占一个字节,"1"占两个字节,因为字符串常量中,系统会在末尾自动加生一个'\0'。----------------------------------------2. 3/(-2)和3%(-2)结果是多少?答案:-1和1。分析:大多数编译器会要求余数和被除数的正负号相同,设a/b商为

2015-09-19 16:40:02 380

原创 深藏不漏的注释/**/ 和 //

我们先来看几个带有注释的定义:a. inti;b. char* s = "abcd   //hkdkd";c. //IS A\valid comment?d. int i;a,b,c,d哪些是正确的?哪些是错误的?答案:d错误,a,b,c都正确。a. 在编译的时候会被替换成空格;b. " "之间的字符会被当做常量;c. \是连接符,链接下面的字符

2015-09-19 16:37:59 608

原创 #define和typedef

#define是宏定义,关键词:替换。如果定义的时候忘记了括号,或者没有注意指针*,就会给程序带来意想不到的错误;typedef是为一个类型重新起一个名字,关键词:rename.这两者在实际当中存在哪些陷阱呢?常见的陷阱我就不再介绍了,只总结我们不常注意的陷阱,而这些陷阱又是足以致命的。1. 先来看一个宏定义:#define PCHAR char*问题:p3和p4有什么不同?分

2015-09-19 16:36:59 286

原创 一边走路一边学习 关于struct和class的区别等几个知识点总结

1. volatile作用:volatile是易变的、不稳定的意思。用它修饰的变量表示可以被某些编译器未知的因素更改,比如:OS、hardware或者其他线程等;遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的变量的稳定的访问。什么叫做“不再进行优化”呢?例如:int i = 10;int j = i; //1语句int k = i; //

2015-09-19 16:34:41 370

原创 关于数组和指针

1. 先来看几个例子,你能说出这几个表示方法的意义和不同点吗?a. int *p[10]  //10个指向int类型的指针,数组里面的类型是int *,这个方式叫指针数组,可以转化成二级指针;b. int (*p)[10]  //指向一个有10个int成员的数组,其实也就是一个2维数组p[][10],确定的第二维的长度是10,数组里面对象的类型是int,这种方式叫数组指针,可以转化成二

2015-09-19 16:33:21 255

原创 关于修饰词const

const在编程中经常遇到,包括全局变量和局部变量的修饰,函数参数的修饰,函数返回值的修饰等,下面我们来一步步的回顾下有关const关键词的一些用意和疑问,并重新梳理一下const是何许人也?1. const修饰的只读变量必须在定义的同时初始化;因为如果没有被赋初值,那么变量被编译器分配了一个空间,并且赋给默认的一个值,一般是很大的一个负数,当我们再次给这个const变量赋值的时候就会

2015-09-19 16:32:07 563

原创 return str引出的内存分配方式---栈和堆的区别

请看这样一段程序:char *fun(void){    char str[50];    ....    return str;}由于str属于局部变量,位于堆栈中,在fun()函数结束时被释放,返回str时出现错误。return 语句不可以返回指向“栈内存”的指针,因为该内存在函数体结束时被自动销毁。既然谈到“堆栈”,这个存储方式在内存中时什么样子的呢?

2015-09-19 16:31:31 489

原创 关于void和循环语句

关于void:1. void的字面意思为“空类型”,主要用于:对函数返回值的限定和对函数参数的限定;2. 众所周知,如果指针p1和p2的类型相同,那么可以直接在p1和p2间相互赋值;如果p1和p2类型不同,则必须使用强制类型转换把赋值运算符右边的指针类型转化成左边的指针类型,如:float *p1;int *p2;p1 = p2;编译出错,必须这样使用:p1 = (fl

2015-09-19 16:30:41 1121

原创 看似简单的if-else

条件语句if-else是在编程时最常见的语句,我们对它们是相当熟悉。本人上学时还闹出一个笑话,可能是自己耳朵有问题或是老师教的有问题,一直把else读为:安赖死,以至于在做项目交流的时候,嘴巴冒出这个发音时,几个哥们儿笑的人仰马翻,不闲扯了,说正题。往往最简单的东西,却有着很多意想不到的技巧和陷阱,本人总结了三点平时写程序时遇到的问题和建议,希望能够对大家有所帮助。1. 符号执

2015-09-19 16:28:15 360

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除