![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 69
hduzn
weibo.com/hduzn
展开
-
system()函数
system()函数,前几次碰到过几个地方,都可以用system函数的说,功能好像很强大,就去网上找了下。发现,system函数实际上就是使用dos命令来着。 举个例子:我曾经写过时间管理器,里面可以有关机,重启等命令,当前用那个win32 API来着,代码有点多的说:void PowerOff() //关机 { HANDLE hToken;原创 2010-04-11 15:44:00 · 228 阅读 · 0 评论 -
C语言跟内存分配方式
(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3)从堆上分配,亦称动态内存分配。程序在运行的时候用mall转载 2010-04-11 21:12:00 · 257 阅读 · 0 评论 -
求负整数的余数&格式输出
求负整数的余数我们通常使用a%n来获得一个介于0到n-1之间的数。然而,如果a是负数,则余数a%n也将是一个负数。例如-7 % 4 等于-3。 这个结果并不是我们所期望的,因为它并不是一个介于0到3之间的数,而且它与常规的数学定义也不同。在数学中,计算余数的方法是:从a开始,加上或减去n直到一个介于0到n-1之间的数为止。例如11除以4的余数是11-4-4 = 3; -7除以4 的余数原创 2010-04-11 16:12:00 · 662 阅读 · 0 评论 -
用rand()和srand()产生伪随机数的方法总结
标准库(被包含于中)提供两个帮助生成伪随机数的函数:函数一:int rand(void);从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。函数二:void srand(unsigned seed);参数seed是rand()的种子,用来初始化rand()的起始值。可以认为rand()在每次被调用的时候,它会查转载 2010-04-11 15:56:00 · 216 阅读 · 0 评论 -
求两个日期相差天数
题目:计算某天比如 2010/1/1离另一天2010/3/23还有几天?已知2010/3/23为星期二(或者2000/1/1为星期一),那么2010/12/1是星期几。开始以为算算应该挺简单的,在写的过程中,突然发现在考虑的问题好多。要考虑是否是闫年,要考虑有没有涉及2月,要考虑是否在同一年。反正一大堆问题...一边写,写完测试下发现问题,继续改。整整弄了几个小时。唉...还不知道有原创 2010-04-11 16:24:00 · 476 阅读 · 0 评论 -
栈和队列的应用-魔王语言
一、基本要求 用下述三条具体规则)实现。设大写字母表示魔王语言的词汇;小写字母表示人的语言词汇;希腊字母表示可以用大写字母或小写字母代换的变量。魔王语言可含人的词汇。 (1)A→sae (A的规则可以自己定义,比如A→abc)(2)B→tAdA (B的规则也可以自己定义哈)(3)(θδ1δ2...δn)→θδnδn-1...θδ1θ 二、实现提示 将魔王的语言自右至左原创 2010-04-11 15:35:00 · 768 阅读 · 0 评论 -
static用法
static作用:修饰变量静态全局变量:作用域仅限于变量被定义的文件中,其他文件即使使用extern声明也没法使用它。静态局部变量:在函数体里面定义的,就只能在这个函数里用。同一文档中的其他函数也用不了。由于被static修饰的变量总是存在内存的静态区,所以即使这个函数运行结束,这个静态变量的值还是不会释放,函数下次使用时仍然能用到这个值。 举个例子:#include原创 2010-04-11 16:21:00 · 240 阅读 · 0 评论 -
#define跟typedef的区别
你能回答下面的问题吗?这段代码typedef (int*) pINT;pINT a,b;和这段代码#define pINT2 int*pINT2 a, b;的区别是什么?如鹏网上很多同学都犯了类似的错误,详见这个帖子:http://www.rupeng.com/forum/thread-244-1-1.html这道题把C语言中指针以及"typed转载 2010-04-11 14:14:00 · 307 阅读 · 0 评论 -
C语言输出乱码问题
题目:要求输出国际象棋棋盘 #include #include "conio.h"int main(){ int i,j; for(i=0;i<8;i++) { for(j=0;j<8;j++) if((i+j)%2==0) printf("%c%c",219原创 2010-04-11 15:52:00 · 990 阅读 · 0 评论 -
UDP打洞——理论篇
在计算机科学中,UDP打洞指的是一种普遍使用的NAT穿越技术。描述通过UDP打洞实现NAT穿越是一种在处于使用了NAT的私有网络中的Internet主机之间建立双向UDP连接的方法。由于NAT的行为是非标准化的,因此它并不能应用于所有类型的NAT。其基本思想是这样的:让位于NAT后的两台主机都与处于公共地址空间的、众所周知的第三台服务器相连,然后,一旦NAT设备建立好UDP状态信息就原创 2010-04-16 15:34:00 · 397 阅读 · 0 评论