c语言
不会写代码的美年达
这个作者很懒,什么都没留下…
展开
-
sizeof 和strlen的区别
#include <stdio.h>int main(){//第2章 P22 float b = (3.14+1e20)-1e20; float c = 3.14+(1e20-1e20); /* 我的第一个 C 程序 */ printf("Hello, World! \n"); printf("%f\n",3.14+1e20); printf("%f\n",b); pr...原创 2018-04-23 16:29:49 · 120 阅读 · 0 评论 -
#include《》和 #include”” 的区别
#include< > 和 #include” ” 的区别一、#include< > #include< > 引用的是编译器的类库路径里面的头文件。 假如你编译器定义的自带头文件引用在 C:\Keil\c51\INC\ 下面,则 #include<stdio.h> 引用的就是 C:\Keil\c51\INC\stdio.h 这个头文件,不管你的项...原创 2018-05-19 20:39:57 · 5323 阅读 · 0 评论 -
指针数组与数组指针 详解
指针数组和 数组指针的区别指针数组 --传递多个字符串用 int *(p[10]) 数组先运算,指针修饰数组数组指针——传递一个数组的首地址用 int (*p)[10] 指针先运算,数组修饰指针, 二维数组和 指针数组的区别二维数组int p [10][20]:行列固定指针数组int *p[10]:10个数组,每个数组都指向1个长度任意的字符串 ...转载 2018-05-07 18:00:57 · 237 阅读 · 0 评论 -
关于pow()在printf()中 直接 用%d输出的问题
关于pow()在printf()中 直接 用%d输出的问题2004年11月30日 09:51:00阅读数:6908原文:http://purec.binghua.com/Article/Class1/Class2/200411/368.html今天收到一封信,里面提出了这样一个有意思的问题#include <math.h>#include <stdio.h>int main...转载 2018-05-16 09:16:42 · 583 阅读 · 0 评论 -
【LeetCode】检查一个10位数组,是否溢出int类型的数据
检查一个10位数组,是否溢出int类型的数据3种方法:1.检查后9位2.检查前9位3.用long类型计算结果 然后比较 //检验10位大小溢出问题 //法1:int类型, //判断 后9位 ? INT_MAX的后9位 //len>10 溢出 //len==10, 最高位>2时,溢出 最高位==2时,正数resu...原创 2018-05-16 17:51:53 · 457 阅读 · 0 评论 -
【LeetCode】int的最大范围 表示方法
int类型:-2147483648 ~ 21474836471.用已定义的库函数文件表示#include<limits.h> #define INT_MAX 2147483647 #define INT_MIN (-INT_MAX - 1)这里没有简单地将INT_MIN赋值成-2147483647,是因为-2147483648对于编译器而言是个表达式,而2147483648...原创 2018-05-16 18:17:23 · 1875 阅读 · 0 评论 -
【LeetCode】【标准函数库】待补充......
#include<math.h> INT_MAX INT_MINint max= pow(2,31);#include<string.h>strncmp(str1,str2,len) //字符串比较函数:如果字符串s1与s2的前size个字符相同,函数返回值为0#include<string.h>int *a = (int*) malloc( sizeof(i...原创 2018-05-16 21:51:08 · 640 阅读 · 0 评论 -
【LeetCode】【二分法】防止溢出 mid =left+(right-left)/2; while(left《right)【left,mid】【mid+1,right】
278. 第一个错误的版本你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version ...原创 2018-05-23 20:44:00 · 5733 阅读 · 0 评论 -
assert_param() ? 0 : assert_failed()
STM32库函数 断言机制 宏定义assert_param(expr)和assert_failed的使用方法 首先我们先了解一下,什么是断言?断言都有什么特点? 断言就是我们人为定义的一个宏,用于判断一些输入参数的布尔表达式是否为预设的值的范围内,如果是就为真,否则就为假。断言就是用于检查一些函数的输入参数的合法性。一般默认情况下,断言的功能是关闭的,在debug调试模式下,将断言功能...转载 2018-08-20 11:40:40 · 1031 阅读 · 0 评论 -
引用.h函数时,typedef重复定义的问题,用#ifndef #define #endif 来解决
#ifndef MPU6500_data_t_typedef //引用时,防止重复typedef#define MPU6500_data_t_typedeftypedef struct{ s16 accelerate_x; s16 accelerate_y; s16 accelerate_z;// s16 temperature; s16 gyr...原创 2018-08-27 22:01:23 · 3881 阅读 · 0 评论 -
ucosii操作系统下,exit中断跑飞
ucosii操作系统下,exit中断跑飞2017年12月20日 16:55:33 mlpx的专栏 阅读数:360硬件:stm32f106vc 操作系统:ucosii 实现功能:按键中断现象:配置完按键、中断后,进入中断死机。原代码如下:void EXTI0_IRQHandler(void)//WK_UP KEY3 PA0{ delay_ms(10); i...转载 2018-12-04 17:06:01 · 510 阅读 · 0 评论 -
【Debug】STM32 HardFault_Handler 故障
3、还是将中断函数修改,打印中断时的一些信息:HardFault_Hander()定义如下:void HardFault_Handler(void){ uint32_t r_sp ; r_sp = __get_PSP(); //获取SP的值 PERROR(ERROR,Memory Access Error!); Panic(r_sp...转载 2018-12-05 13:59:25 · 520 阅读 · 0 评论 -
【LeetCode】【链表】206. 反转链表:3种方法实现:递归(调用自身)、迭代(直接链表操作)、数组法(先保存数组 再操作)
递归调用:反转单向链表/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* m_phead=NULL;struct ListNode* reverseList(struct L...原创 2018-05-17 20:08:37 · 228 阅读 · 0 评论 -
计算约数,1--sqrt(num)范围即可
#include<stdio.h>#include<string.h>#include<math.h>//1088int findyueshu(int num){ //计算不是自身外的 约数之和 int i,sum=0; for(i = 1;i<=sqrt(num);i++) { if(num%i==0) { sum +=i; if( num/...原创 2018-04-25 16:38:33 · 699 阅读 · 0 评论 -
逻辑右移 算术右移
逻辑右移就是不考虑符号位,右移一位,左边补零即可。算术右移需要考虑符号位,右移一位,若符号位为1,就在左边补1,;否则,就补0。没有特别说明,就是逻辑移动左移:一般都是逻辑左移右移:有符号数算术右移,无符号数逻辑右移#include<stdio.h>#include<string.h>int fun1(unsigned int word){ return (int)((w...原创 2018-04-25 11:40:50 · 2177 阅读 · 0 评论 -
交换两个数的3种方法:宏定义,直接,函数调用
1.不调用函数法:建立临时变量交换直接在需要处int temp=b; b=a; a=temp;2。宏定义法:加减法、需要时时有括号 a=a+b b=a-b a=a-b#define swap(a,b) ((a)=(a)+(b);(b)=(a)-(b);(a)=(a)-(b))缺点:a+b可能会溢出3.函数法:I.指针的方法 void swap(int *_x,int *_y) ...原创 2018-04-23 20:23:39 · 3685 阅读 · 0 评论 -
~0 (而不用0xFFFFFFFF)的代码可移植性
32位机器 ~0=0xFFFFFFFF但是64位机器?8位机器?所以~0更具有可移植性。原创 2018-04-23 20:29:35 · 388 阅读 · 0 评论 -
逻辑判断 !(x^y) 等价于 x==y
逻辑判断 !(x^y) 等价于 x==yx只有在等于y的时候,x^y=0否则=1;原创 2018-04-23 21:03:49 · 1738 阅读 · 0 评论 -
加法优先级 》 移位运算 :1《2+3《4
1<<2+3<<4 = 1<<(2+3)<<4 = (1<<(2+3) )<<4= 2的5次方 再4次方 = 2的9次方 = 5121. 加法优先级 > 移位运算2. 从左到右计算原创 2018-04-23 21:18:19 · 685 阅读 · 0 评论 -
-128与-0原码反码相同 -0 与+0补码相同
原码 反码 补码+127 0111 1111 0111 1111 0111 1111+0 0000 0000 0000 0000 ...原创 2018-04-24 11:24:50 · 1722 阅读 · 0 评论 -
推荐while(2==scanf("%d%d", &a, &b))
while(scanf("%d%d", &a, &b)!=EOF)while(!scanf("%d%d", &a, &b))while(2==scanf("%d%d", &a, &b))原创 2018-04-24 16:39:00 · 267 阅读 · 0 评论 -
问题 1004: 母牛的故事
问题 1004: 母牛的故事时间限制: 1Sec 内存限制: 128MB 提交: 10086 解决: 2589题目描述有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?输入输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。n=0表示输入数据的结束,不做处理...原创 2018-04-24 20:03:23 · 365 阅读 · 0 评论 -
unsigned若省略后一个关键字,大多数编译器都会认为是unsigned int
unsigned若省略后一个关键字,大多数编译器都会认为是unsigned intunsigned i ;等价于unsigned int i ;原创 2018-04-25 09:19:15 · 651 阅读 · 1 评论 -
%d %u = int unsigned int
%d有符号int输出 = int %u无符号int输出 = unsigned int int i = -1; printf("%d %u",i,i);输出:-1 (有符号数) 4294967295(无符号数)原创 2018-04-25 09:24:29 · 463 阅读 · 0 评论 -
-2147483647-1的问题,负数 《 正数, 负数 》正数u ,负数 永远》负数u
-2147483647-1的问题 || 负数 < 正数|| 负数 > 正数u || 负数 永远>负数u一、负数 < 正数 负数u > 正数 (负数u平移,到正数的上一半部分去了)-1 < 2 true常识-1 > 2u true 负数-->无符号数4294967295 >2u(-1= 2的32次方-1 = 4294967295...原创 2018-04-25 10:48:43 · 6774 阅读 · 0 评论 -
show_bytes :打印任意类型数据的 16进制表示
show_bytes :打印任意类型数据的 16进制表示如:int:4字节char:1字节默认电脑为小端模式:小字节在前#include<stdio.h>#include<string.h>void show_bytes(unsigned char * data, int datatype){ int i; for(i=0;i<datatype;i++) { pri...原创 2018-04-25 11:14:28 · 1655 阅读 · 0 评论 -
浮点数计算造成的精度丢失问题
double d = 2.4;System.out.println(d); 输出的是2.4,而不是2.3999999999999999。也就是说,不进行浮点计算的时候,在十进制里浮点数能正确显示。这更印证了我以上的想法,即如果浮点数参与了计算,那么浮点数二进制与十进制间的转换过程就会变得不可预知,并且变得不可逆。 事实上,浮点数并不适合用于精确计算,而适合进行科学计算。这里有...转载 2018-12-06 10:29:07 · 979 阅读 · 0 评论