问题链接:UVA489 Hangman Judge。
问题简述:参见原题链接。
问题分析:这是一个模拟题。
程序中,定义了若干宏定义,使得程序可阅读性增强。函数guess()中的逻辑做了适当的改进,更加合理快速。
AC的C语言程序如下:
/* UVA489 Hangman Judge */
#include
#include
#define TRUE 1
#de...
分类:
其他好文 时间:
2016-08-11 21:05:31
阅读次数:
146
在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing stru ...
分类:
其他好文 时间:
2016-08-11 17:58:26
阅读次数:
168
问题链接:UVA133 The Dole Queue。可以说是双向约瑟夫环问题,用C语言编写程序。
问题简述:输入n、k和m,n为人数,逆时针序号为1~n,A从1按逆时针数到第k个人停下来,B从n开始按顺时针数到第m个人停下来,输出被数到的人,并且让这些人出局。输出出局人的序号(输出格式参见原题说明)。
解题思路:用模拟法来解决。
程序中,带参数的宏定义next()用于计算下一个位置。函...
分类:
其他好文 时间:
2016-08-11 11:29:16
阅读次数:
153
1.const基础知识 (1)用const定义常量 const int a = 5; //定义了一个int型常量a,其值为5 (注:在C++中将其存储在符号表中(key,value),并不分配内存空间,只有在取地址或者定义为全局变量在其他文件中使用时才分配内存空间) (2)const与指针 (3)c ...
分类:
编程语言 时间:
2016-08-11 00:32:06
阅读次数:
158
上一篇文章中介绍了采用了文件记录锁来实现更加安全的多进程互斥,它的平台兼容性也非常好,并且我们也采用它实现了NSDistributedLock的所有的方法.其实在OSX还可以采用文件读写锁来实现更加方便的进程互斥,在fcntl.h中我们可以看到这样的宏定义: 这些宏是同O_RDONLY,O_WRON ...
分类:
系统相关 时间:
2016-08-10 17:33:25
阅读次数:
187
一:inline定义与使用 inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。 表达式形式的宏定义一例: #define ExpressionName(Var1,Var2) ((Var1)+(Var2))*((Var1)-(Var2))为什么要取代这种形 ...
分类:
编程语言 时间:
2016-08-07 21:37:47
阅读次数:
253
说明:内核版本号为3.10.101 一、ARM架构中的原子操作实现 在原子操作(一)中我们已经提到,各个架构组织为“复仇者”联盟,统一了基本的原子变量操作,这里我们就拿atomic_dec(v)来看看通天ARM的实现。 首先是atomic_dec(v)原子减一操作的宏定义。这个宏的定义在文件arch ...
分类:
其他好文 时间:
2016-08-07 09:39:14
阅读次数:
151
单例模式: 1.永远只分配一块内存来创建对象 2.提供一个类方法, 返回内部唯一的一个对象(一个实例) 3.最好保证init方法也只初始化一次 ARC下单例的常规写法(代码中的\是宏定义的写法): MRC写法: 宏在单例类中的用法(.h文件): 宏在单例类中的用法(.m文件): 很明显,极大的精简了 ...
分类:
其他好文 时间:
2016-08-05 13:31:09
阅读次数:
159
qt中如何实现定义一个宏,在整个工程中都可以实现呢?下面我来写一个亲测的例子: pro中添加如下宏定义代码: DEFINES += HELLO=\"$$PWD/\" DEFINES += SUCCESS=\"string\" DEFINES += HELLO=\"$$PWD/\" DEFINES + ...
分类:
其他好文 时间:
2016-08-04 17:30:51
阅读次数:
171
内核里面用list_for_each_entry实在太多了,定义在linux-3.10/include/linux/list.h: 要分析list_entry就得分析container_of,linux-3.10/include/linux/kernel.h: 宏定义的第一行:typeof(x)是g ...
分类:
其他好文 时间:
2016-08-03 23:58:27
阅读次数:
375