唯有前进值得敬仰

---等得越久,相聚时越幸福
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  C/C++

摘要:最近写的一个小程序中用strlen函数求字符串长度,字符明明只有4个,可是结果求出来的长度却不是4,原来使用strlen函数要求字符串必须是以''\0''结尾的。strlen返回它的长度但不包括‘\0’(这不同于sizeof)。这里就顺便总结一下了。(以下均针对x86 32bit平台)1.先看例子。char* ss = "0123456789";char st[] = "0123456789";char sa[100] = "0123456789";struct s{int i;char j;doubl 阅读全文

posted @ 2011-04-07 21:30 绿豆芽33 阅读(415) 评论(1) 推荐(0)

摘要:今天淘宝海笔时碰到的一道题。题目大概是这样叙述的:n个鸡蛋放到m个篮子,每个篮子不能空,要求满足:给定任意一个小于n的数量,几个篮子的鸡蛋数加起来就可以等于它。要求输入n和m,求出满足要求的所有可行的鸡蛋放法。偶是个小菜鸟,想了10多分钟,效率不怎么高,貌似还算可行,回来后写了下程序。偶的思路大体是这样的。先将问题转换一下描述,就是给定两个正整数n和m,对于任一个小于n的正整数x都可以表示成这m个数的部分和,求出满足这个要求的m个数有多少种。经过我的分析发现,这m个数的最大值不超过n/2(上取整),而且除了最后两个数不是1之外其他的m-2个数均是1,可是我当时不会证明这个想法对不对。就采用了这 阅读全文

posted @ 2011-03-27 21:41 绿豆芽33 阅读(1519) 评论(4) 推荐(1)

摘要:给出一个任意一个正整数x,可能很大,求出比它大的最小对称数。#include<iostream>using namespace std;char *get_palindromic_num(char *num){//为了节省空间,可以只用一个数组tmp,这里我就不优化了 int len=strlen(num); char *tmp=new char[len*2]; char *ret=new char[2*len]; if(len==1) {//如果只有一个数字字符,<9,则最小对称数为num+1,>=9,则为11; if(num[0]-'0'<9) 阅读全文

posted @ 2011-03-16 15:50 绿豆芽33 阅读(853) 评论(2) 推荐(0)

摘要:问题如题,比如已知今天是周一,那么判断历史上或未来是的任一天是周几?这个问题不难,但是写起代码来还是有点复杂的,好多人在笔试的时候都是放弃该题的。趁自己有空的时候写了一下,贴出来共享。程序写得比较简单,没有进行什么错误检查。执行例子:enter a date:year month day=======2010 12 20回车week ?1回车enter another date but don't know on which weekday======2009 12 1回车代码 阅读全文

posted @ 2010-12-20 16:48 绿豆芽33 阅读(1911) 评论(0) 推荐(0)

摘要:一、是什么我们学习C语言时最经常使用printf()函数,但我们很少了解其原型。其实printf()的参数就是可变参数,想想看,我们可以利用它打印出各种类型的数据。下面我们来看看它的原型:int printf( const char* format, ...);它的第一个参数是format,属于固定参数,后面跟的参数的个数和类型都是可变的(用三个点“…”做参数... 阅读全文

posted @ 2010-07-12 21:50 绿豆芽33 阅读(7454) 评论(3) 推荐(3)

摘要:经常看到define中定义字符串时,在字符串前面加上一个大写的字母L,例如:#define variable L"hello world"这是干什么用的呢?其实,这个L是宽字符,通知编译器后面的字符为UNICODE标准。这种标准和ANSI有什么区别呢?8位ANSI字符 char16位 UNICODE字符 wchar_t在<tchar.h>中有 typedef unsigned shor... 阅读全文

posted @ 2010-01-27 20:15 绿豆芽33 阅读(3015) 评论(1) 推荐(0)

摘要:使用vs2005编译时会遇到这样一个warning:warning C4996:**** was declared deprecated 其实 warning C4996的详细含义就是:****: This function or variable may be unsafe. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.例如:#incl... 阅读全文

posted @ 2010-01-27 19:50 绿豆芽33 阅读(1284) 评论(5) 推荐(0)

摘要:在tcp/ip的头结构中遇到这种带冒号的定义形式:u_int16_t doff:4。经查,此乃位域也。C语言提供的一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来... 阅读全文

posted @ 2010-01-26 19:05 绿豆芽33 阅读(298) 评论(0) 推荐(0)