C语言
上漂的雪
这个作者很懒,什么都没留下…
展开
-
变量的练习
问题:用最少的砝码组合代表1~100克任意大小,每个砝码只用一次 参考答案:1 2 4 8 16 32 64算法:从小开始,首先 1 不能用其他组合来代替,必须保留. 2 每个砝码只能用一次,所以 2 也必须保留. 3 可以用前面的组合,可以去掉 ......结论->如果重量为n的砝码是确定需要保留的,则它的后面n-1个砝码都是可以用前面的砝码组合,不需要保留的.计算机思维原创 2013-08-05 00:26:38 · 784 阅读 · 0 评论 -
透析c语言可变参数
一、是什么我们学习C语言时最经常使用printf()函数,但我们很少了解其原型。其实printf()的参数就是可变参数,想想看,我们可以利用它打印出各种类型的数据。下面我们来看看它的原型:int printf( const char* format, ...);它的第一个参数是format,属于固定参数,后面跟的参数的个数和类型都是可变的(用三个点“…”做参数占位符),实际转载 2013-09-17 22:55:11 · 627 阅读 · 0 评论 -
c语言 输入/输出函数
1)错误报告void perror(void const *message);作用:打印错误参数message,后面自动打印出一条解释当前错误信息。2)终止程序void exit(int status);//status参数返回给操作系统,用于提示程序是否正常完成。这个值和main函数返回的整形状态值相同。预订义符号 EXIT_SECCESS 和 EXIT_FAIL原创 2013-08-06 21:03:25 · 837 阅读 · 0 评论 -
GCC 上的预定义宏
在标准C以及各中编译器中定义了一些对象宏, 这些宏的名称以"__"开头和结尾, 并且都是大写字符. 这些预定义宏可以被#undef, 也可以被重定义。 在ANSI C标准中定义了__FILE__,__LINE__,__DATA__,__TIME__,__STDC__等标准的预定义宏。GCC对其进行扩展,也定义了多个预定义宏。 概括起来GCC中可使用的预转载 2013-08-27 16:52:41 · 1495 阅读 · 0 评论 -
c语言基础
回顾:局部变量的地址不能用作返回值。形参的地址变量是可以返回的。///////////////////////////////////////////////////////////////1)数组名称和指针变量的区别数组名称是右值,指针变量是左值。进行sizeof计算时,结果不同。进行取地址操作,结果不同。2)使用循环操作数组时,可以用指针变量。原创 2013-08-13 22:28:22 · 684 阅读 · 0 评论 -
c语言 分割函数的实现
#include#include#define SIZE 10int my_split(char *p[SIZE], char str[],char const *sep){ int num = 0; for(p[num] = strtok(str,sep); p[num] != NULL; p[++num] = strtok(NULL,sep)); return num;//返回被原创 2013-08-23 20:23:54 · 2549 阅读 · 0 评论 -
五子棋 判断输赢的函数
/*刚写了个控制台的五子棋游戏,发现判断输赢花了我不少时间,特意贴出来.如果大家有更好的方法,欢迎共享.*///每读入一个点//通过判断垂直,水平,主对角线,斜对角线四个方向来判断输赢#define ROW 15#define COL 15char map[ROW][COL];bool is_win(char map[][COL],int x,int y,in原创 2013-08-09 00:00:53 · 11545 阅读 · 1 评论 -
linux c 关闭回显
// forTest.cpp : Defines the entry point for the console application.#include #include #include #include #define ECHOFLAGS (ECHO | ECHOE | ECHOK | ECHONL) //函数set_disp_mode用于控制是否开启输入回显功能转载 2013-08-18 23:48:39 · 4236 阅读 · 0 评论 -
c语言基础 补码 占位符
1)理解负数补码的另一种思维正数+相反数=0所以负数的补码为:0-正数考虑一个八位的数,0的表示方法0000 0000 => 1111 1111 + 1所以负数的补码 = (1111 1111 + 1) -(正数)eg:5 0000 0101 -5 = (1111 1111 + 1)-(0000 0101)= (1111 1111 - 0000 0101) +原创 2013-08-05 21:29:40 · 967 阅读 · 0 评论 -
控制台 简单 双链表贪吃蛇的实现
/***********************************************************重温了结构体和链表,模仿写了个控制台的贪吃蛇程序.实现了基本的一些功能.其他功能就不想浪费时间了,适可而止吧.个人觉得最主要的代码是1)判断指定一点是否在链表中bool is_include(const pSnake p,int row,int col );这个函数原创 2013-08-05 22:46:06 · 1057 阅读 · 0 评论 -
c语言函数的可变参数列表
在函数原型中,列出了函数期望接收的参数,但是原型只能显示固定数目的参数。在c语言中能不能在不同的时候接收不同数目的参数呢?答案是肯定的stdarg宏可变的参数列表是通过宏来实现的,这些宏定义与 stdarg.h头文件,它是标准库的一部分这个头文件声明了一个类型va_list 和 三个宏-------- va_star va_arg va_end.下面是书本的一个例子//计原创 2013-08-05 21:31:27 · 709 阅读 · 0 评论 -
c 和 指针(笔记)
1)数组指针,指向数组的指针,以一个n维数组为一个单位。int matrix[3][5];int (*p)[10];p是一个指向10个整形元素的数组指针。当你把p和一个整数相加时,这个整数值首先根据10个整形值的长度进行调整,然后再执行加法。所以,我们可以使用这个指针一行一行地在matrix中移动。如下:(p + i) 行变化,结果是一个数组指针*(p +i)+j 定位到i原创 2013-08-04 23:34:12 · 604 阅读 · 0 评论 -
用volatile关键字防止变量被编译器优化
volatile是在C,C++,Java等中语言中的一种修饰关键字。这个关键字在嵌入式系统中,是一个非常重要的一个使用。尽管在一般的Application中,可能很多人都不需要使用这个。但是在单片机中,如果不熟悉这个关键字,很有可能产生想像不到的意外。那么,我就来谈谈Volatile的意义--volatile在ANSIC(C89)以后的C标准规格和const一起被包含在内。在标准C中,这些转载 2013-10-14 22:04:10 · 7389 阅读 · 0 评论