C
fay8048
关注互联网的软件工程师
展开
-
c语言case的使用注意问题
#include 2 int main() 3 { 4 int i; 5 printf ("input somenum"); 6 scanf ("%d" , &i); 7 switch (i) 8 { 9 //case (0.1+0.9)原创 2011-12-16 23:48:33 · 12467 阅读 · 0 评论 -
二叉树常见运算问题
http://blog.csdn.net/randyjiawenjie/article/details/6772145看看思路,下面的小bug还比较多二叉树的常见问题有如下几个,如果解决好了,就跟链表一样轻松:唯一不一样的是,二叉树是非线性结构。常见的问题如下:二叉树的问题1.二叉树三种周游(traversal)方式:[cpp] vi转载 2013-02-17 17:04:04 · 510 阅读 · 0 评论 -
C语言 两道位操作的面试题
1、把一个32位的数按位反转,就是第32位转到第1位,第31位转到第2位…………什么样的算法最节省效率?参考http://www.yuanma.org/data/2007/0723/article_2763.htmunsignedint bit_reverse(unsignedint n){ n =((n >> 1)& 0x55555555)|((n转载 2012-09-21 10:12:35 · 1993 阅读 · 0 评论 -
getsockname() getpeername
getsockname编辑本段简述 获取一个套接口的本地名字。 #include int PASCAL FAR getsockname( SOCKET s, struct sockaddr FAR* name, int FAR* namelen); s:标识一个已捆绑套接口的描述字。 name:接收套接口的地址(名字)。 namelen:名字缓冲区长度。编辑转载 2012-04-21 08:39:41 · 1341 阅读 · 0 评论 -
va_list 详解
VA_LIST 是在C语言中解决变参问题的一组宏他有这么几个成员:1) va_list型变量:#ifdef _M_ALPHAtypedef struct { char *a0; /* pointer to first homed integer argument */ int offset; /* byte offset o原创 2012-04-18 22:57:37 · 838 阅读 · 0 评论 -
getopt函数
getopt(分析命令行参数) 相关函数 表头文件 #include 定义函数 int getopt(int argc,char * const argv[ ],const char * optstring); extern char *optarg; extern int optind, opterr, optopt; 函数说明 getopt()用来分析命令行参数。参数argc和转载 2012-04-18 23:56:15 · 572 阅读 · 0 评论 -
c语言scanf函数
问题:scanf()函数不能正确接受有空格的字符串?如: I love you!#include int main(){ char str[80]; scanf("%s",str); printf("%s",str); return 0;}输入:I live you!输出:I sca原创 2012-03-21 00:42:14 · 1047 阅读 · 0 评论 -
C语言snprintf函数
int snprintf(char *restrict buf, size_t n, const char * restrict format, ...);函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n 的话,将不会溢出。函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。Result转载 2012-03-19 18:42:41 · 21098 阅读 · 1 评论 -
C语言SSCANF函数
头文件 #include 定义函数 int sscanf (const char *str,const char * format,........); 函数说明 sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。转载 2012-03-19 17:59:29 · 4354 阅读 · 0 评论 -
vs2005 C# 当前不会命中断点。还没有为该文档加载任何符号
解决方法: 生成 --> 配置管理器 活动的项目配置中新建以默认值设置的方案. 这时会在BIN目录下生成一个以方案名命名的目录,所有调试时用的DLL,和EXE文件,就会在目录里生成,同时,OBJ目录里,也会有这么一个目录原创 2012-03-28 15:49:14 · 2206 阅读 · 0 评论 -
c语言 union与大端小端
c语言 union2010-08-19 20:10(C语言)共用体union的用法举例 以前在学校学习C语言的时候一直搞不懂那个共用体union有什么用的。工作之后才发现它的一些妙用,现举例如下:1. 为了方便看懂代码。比如说想写一个3 * 3的矩阵,可以这样写:struct Matrix{ union { float _f1转载 2012-02-16 23:15:08 · 4375 阅读 · 1 评论 -
sizeof
#include 2 #include 3 int main()4 {5 char a[1000];6 int i;7 for (i=0 ; i 8 {9 a[i] = -1-i;14 }15 printf ("%d\n", strlen(a));16 return 0;17 }这段程序值得深入研究首先,,测定数组长度用strlen函数,原创 2011-12-15 19:53:58 · 672 阅读 · 0 评论 -
面试sizeof C语言各个类型占用字节书
#include void fun (int q[100]){ int y; y = sizeof (q); printf ("%d\n", y); return ;}int main(){ int f; int *p; f = sizeof *p; printf ("%d\n" , f);原创 2011-12-11 23:48:35 · 744 阅读 · 0 评论 -
由-128的补码引出的深层次思考。
一般的说法是负数的补码为其原码除符号位外取反然后总体加一,也就是说,要得到一个负数数的补码,要先知道这个负数的原码才行。那么,问题出现了,在8位长度下,-128的原码与反码都不存在,因为一个字节的有符号数的原码范围是: -127 ~ + 127 ,既然不存在 -128的原码那么就无法求出 -128 的补码了,怎么办? 其实,这个问题的实际意义是,既然说计算机内部的有符号整数都是补码,转载 2011-12-12 00:02:14 · 620 阅读 · 0 评论 -
静态存储区、堆和栈的区别
一、内存基本构成可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是转载 2011-12-19 18:15:30 · 14710 阅读 · 0 评论 -
二叉树的遍历
文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。上周数据结构课在讲二叉树的遍历,老师只讲递归算法,没有什么技术含量,遂自己琢磨非递归算法实现...前序遍历:先访问根节点,再访问左子树,最后访问右子树。设置一个栈,出栈即为访问节点。先将根节点进栈,在栈不空时一直如下循环:出栈,访问,将其右孩子进栈,再将左孩子进栈。转载 2013-02-17 12:56:42 · 521 阅读 · 0 评论