
笔记
应钟二十六
山高路远 未来见
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c 语言打开文件弹出debug assert failed
翻遍全网的解答,看来将近一个小时的博客,还是没有解答,直到我即将放弃的时候,基本翻遍全网关于解决为什么文件就弹出debug assert failed 弹窗的问题仍然得不到解答。后来精简代码,一行一行的注释,再放开,直到我发现问题的时候,我恭喜自己又一次被自己蠢到了。写一个博客,以此留念。如果有犯同样错误的,也可以相互借鉴。写法如下: FILE* fp = fopen("E:\\test.txt", "w"); if (fp== NULL) { perror("fopen"); s原创 2020-07-16 20:57:20 · 4738 阅读 · 0 评论 -
耗尽心力整理——你对文件到底了解多少?(万字预警,目录里各取所需)
目录什么是文件文件的操作文件类型二进制文件代码文本文件代码文件缓冲区观察缓冲区所带来的现象fflush 函数与缓冲区认识缓冲区文件指针文件的打开和关闭对比用 r 和 w 的方式打开一个不存在文件对比W 和 a 的 读写文件的区别文件顺序读写(文本类)文本行输出函数 fputsfputs 和printfs区别字符输出函数 fputc字符输入函数 fgetcEOFfgets文本行输入函数 fge文件结尾判断什么是文件文件保存在硬盘上的一种特殊形式。我们一般谈的文件有两种:程序文件、数据文件程序文件:包括原创 2020-07-15 22:12:53 · 1054 阅读 · 1 评论 -
搞懂这些,指针也不过如此----指针进阶,指针?纸老虎?
指针进阶字符指针基本知识用法例题数组指针指针数组&数组名 与 数组名数组指针的使用数组参数一维数组传参练习题字符指针基本知识int main(){ char p = 'a'; printf("%c\n",p); //a printf("%d\n",p); //97 system("pause"); return 0;}计算机只认识二进制,字符存取过程中一定会存在一个映射关系机器处理字符a 的过程存储:当在键盘中输入 a时,首先电脑会将 字符a 转换成对应的十进制数据原创 2020-06-01 21:51:13 · 319 阅读 · 0 评论 -
浮点型在内存中的存储
浮点型在内存中的存储目录浮点型在内存中的存储基础概念SEE不全为0或不全为1E全为0E全为1M例题==例题解释==基础概念任何浮点数都是可以用科学计数法来表示的(二进制)科学计数法也能表示成对应的十进制浮点数(二进制) 能去也能回来任意一个二进制浮点数V可以表示成下面的形式: (-1)^S * M * 2 ^ E(-1) ^ s s表示符号位,当s=0,V为正数;当s=1,V为负数。M表示有效数字,大于等于1,小于2。2^E 二进制 e表示指数位所以对浮点数的存储,将浮点数转换原创 2020-05-26 22:58:57 · 421 阅读 · 0 评论 -
猜猜猜 猜名次 猜一个凶手
目录猜名次==思路整理==猜凶手==思路整理==猜名次5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。int main(){ //穷举法 int a = 1; for (; a <= 5; a++) { int b = 1; for (; b <= 5; b++)原创 2020-05-26 09:19:37 · 222 阅读 · 0 评论 -
const修饰变量以及系统级别的不可更改
const==重要结论====const修饰指针变量====系统级别的不可更改==重要结论const 修饰的变量不可以直接修改( 弱不可写行。注意,此处的不可修改是指在编译级别不可以修改,但系统级别是可以修改的,通过指针可以间接修改 const 所修饰的变量。但不建议这样做!!)如果有一个指针指向const 其实本身传达的意思是应该在指针前也加上const。(不要改,即便你能改)const int a = 10;printf("%d\n", a);const int *p = (int*)&am原创 2020-05-18 19:41:47 · 375 阅读 · 0 评论 -
喝汽水问题
喝汽水问题喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水(编程实现)思路:20元首先可以喝20瓶,此时手中有20个空瓶子两个空瓶子可以喝一瓶,喝完之后,空瓶子剩余:empty/2(两个空瓶子换的喝完后产生的瓶子) + empty%2(不够换的瓶子)如果瓶子个数超过1个,可以继续换,即重复2int main(){ int intput = 0; printf(" please enter the toatl price:>"); scanf("%d", &原创 2020-05-15 18:24:11 · 214 阅读 · 0 评论 -
移位、位操作符的运用
移位、位操作符的运用打印整数二进制的奇数位和偶数位提取所有的奇数位,如果该位是1,输出1,是0则输出0以同样的方式提取偶数位置#include<stdio.h>#include<windows.h>#pragma warning(disable:4996)void Printf(int a){ int i = 0; for (i = 30; i &...原创 2020-05-02 10:47:42 · 341 阅读 · 0 评论 -
结构体详解(待补充)
//定义结构体struct stu{ char name[20]; int age; char sex[10];};//重命名 typedef struct stu{ char name[20]; int age; char sex[10];}stu_t;struct stu 叫做结构体类型就类似于 int float double 这个意思有的时候觉得...原创 2020-04-28 09:31:09 · 495 阅读 · 0 评论 -
多文件实现三子棋
三子棋多文件实现,分装成三个模块。原创 2020-04-22 18:23:25 · 242 阅读 · 0 评论 -
#define定义的常量和宏
#define定义的常量和宏它#是预处理符号,不是关键字只做简单的文本替换#define MAX 100#define ADD(x,y)((x)+(y))#define Double1(x)(x*x)#define Double2(x) ((x)*(x))int main(){ printf("%d\n", ADD(10,20)); printf("%d\n", Doub...原创 2020-04-01 22:56:05 · 1246 阅读 · 1 评论 -
关键字static和typedef
关键字static1.static 修饰局部变量时,相当于改变了其生命周期,但不改变作用域2.static 修饰全局变量,代表该变量仅在本文件内有效(没有static 修饰 全局变量+声明之后支持跨文件引用)3.static 修饰函数,该函数只在本文件内被调用或访问,不能跨文件访问(函数本身在另一个文件+声明之后支持跨文件引用)对第一点的演示没有static 修饰情况下的局部变量#i...原创 2020-04-01 20:18:47 · 616 阅读 · 0 评论 -
转义字符
转义字符一点点解释:‘\0’表示值为0的字符,也就是空字符(null)。通常用这种形式代替0,强调某些表达式的字符属性,但其数字值为0。关于\ddd以及\xdd 之前的说明这些不同进制的数字按照字符形式输出,最终都会对应到十进制的ASCII码上。达到各种各样的效果。但除了原来写的关于它的具体怎么用,还没见到太多,后续再补充咯。//这个还是属于按照整型输出的#include<s...原创 2020-03-28 22:50:05 · 725 阅读 · 0 评论 -
操作符
算数操作符+—*/%%两个操作数必须为整数/ 两个操作数均为整数整数除法 一个为小数就是小数操作符移位操作符<< >>*<<移位为二进制位移位运算符,不要移动负数位(a>>-3 不可)左边丢弃右边补0即可a=13;b = a << 1;printf("%d\n", a);每一位均变为原来的二倍a ...原创 2020-03-11 23:53:10 · 309 阅读 · 0 评论 -
sizeof&strlen
关于 sizeof 有话说关于sizeof单位是字节不是函数(下面的例子说明)1.sizeof //有的时候()可以去掉例如sizeof a 但只有是符号的时候才行例子里面的int 就不能去括号哈!不能写出sizeof int2.一个表达式放在函数参数部分的时候会参与计算而sizeof ()里面的表达式不会参与计算例子一演示#include<stdio.h>i...原创 2020-03-08 20:44:22 · 202 阅读 · 0 评论 -
数组--扫雷(未扩展版)
数组–扫雷原创 2020-03-04 18:38:55 · 185 阅读 · 0 评论 -
计算1-100之中出现了多少个有9的数字以及多少个9
计算1-100之中出现了多少次9正确的#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ int i = 0; int count = 0; for (i = 1; i <= 100; i++) { if (i % 10 == 9) ...原创 2020-02-22 23:00:33 · 505 阅读 · 0 评论 -
细数 你在写代码计算1/1-1/2+1/3-1/4......+1/99-1/100会踩下的大坑
计算1/1-1/2+1/3-1/4…+1/99-1/100#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ int i = 0; double sum = 0; int flag = 1; for (i = 1; i <= 100...原创 2020-02-22 22:50:48 · 616 阅读 · 0 评论 -
冒泡排序初级版
冒泡排序初级版void bubble_sort(int arr[], int sz){ int i = 0; //外层循环冒泡排序的趟数 for (i = 0; i < sz - 1; i++) { int j = 0; for (j = 0; j <sz-1-i;j++) { //一对元素的比较 if (arr[j]>arr[j + 1])...原创 2020-02-20 20:00:27 · 1384 阅读 · 0 评论 -
求第n个斐波那契数 (函数与迭代)
求第n个斐波那契数斐波那契数1 1 2 3 5 8 13 21 …fib(n)n<=2 1n>2 fib(n-1)+fib(n-2)函数法#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int fib(int n){ if (n...原创 2020-02-19 11:02:01 · 384 阅读 · 0 评论 -
递归计算n的阶乘
递归计算n的阶乘fac(n)n<=1 1n>1 n*fac(n-1)#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int fac(int x){ if (x <= 1) return 1; else return x*fac(x - ...原创 2020-02-16 22:00:05 · 664 阅读 · 0 评论 -
函数递归input 1234按位输出
input 1234按位输出最简单的递归#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>void print(int num){ if (num>9) print(num / 10); printf(" %d ",num%10); }int mai...原创 2020-02-16 21:27:51 · 433 阅读 · 0 评论 -
对数组进行初始化、清空、逆置(函数法)
对数组进行初始化、清空、逆置(函数法)#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>//初始化数组void init(int arr[], int sz, int x){ int i = 0; for (i = 0; i < sz; i++) { arr[...原创 2020-02-16 19:08:47 · 316 阅读 · 0 评论 -
打印乘法口诀表 函数法
打印乘法口诀表 函数法#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>void print_table(int x){ int i = 0; for (i = 1; i <= x; i++) { //打印一行 int j = 0; for (j = 1;...原创 2020-02-16 18:17:59 · 192 阅读 · 0 评论 -
每调用一次函数 使得Num+1
每调用一次函数 使得Num+1#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int INC(int *x){ return ( * x)++;}int main(){ int num = 0; INC(&num); INC(&am...原创 2020-02-15 10:55:20 · 393 阅读 · 0 评论 -
求水仙花数
求水仙花数#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<math.h>int main(){int i = 0; for (i = 0; i < 9999;i++) { int tmp = i; ...原创 2020-02-14 23:37:04 · 552 阅读 · 0 评论 -
计算Sn=2+22+222+2222+22222
计算Sn=2+22+222+2222+22222#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){int i = 0; int n = 0; int j = 0; int temp = 0; int sum = 0; scanf("%d", &a...原创 2020-02-14 21:09:02 · 4080 阅读 · 0 评论 -
打印*的图案
打印*的图案#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ //打印上半部分 int i = 0; int j = 0; int line = 0; scanf("%d", &line); for (i = 0; i < lin...原创 2020-02-14 11:03:40 · 307 阅读 · 0 评论 -
猜数字游戏
猜数字游戏#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<time.h>void menu(){ printf("***************\n"); printf("***1.play******\n"); printf("***0....原创 2020-02-12 19:57:41 · 221 阅读 · 0 评论 -
二分查找程序实现
二分查找程序实现使用二分法的前提是有序数组有点麻烦并且low的写法用while循环实现#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int left...原创 2020-02-11 23:03:53 · 1161 阅读 · 0 评论 -
有关阶乘
有关阶乘求n的阶乘#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ int i = 0; int n = 0; int ret = 1; //ret 表示阶乘 scanf("%d", &n); for(i = 1;i <=n; ...原创 2020-02-10 22:21:54 · 526 阅读 · 1 评论 -
关于循环和分支语句的一点点注意
关于循环和分支语句的一点点注意以下代码都是错误 不可用#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ int age = 0; scanf ("%d",&age); if (18 <= age <= 30) printf(...原创 2020-02-09 20:52:12 · 207 阅读 · 0 评论 -
分支和循环语句
分支和循环语句分支语句switchswitch 允许嵌套使用#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>#include <windows.h>int main(){ int n = 1; in...原创 2020-02-09 19:27:57 · 282 阅读 · 0 评论 -
welcom to my blog 演示多个字符从两端移动向中间汇聚
演示多个字符从两端移动向中间汇聚==演示welcom to my blog ==#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>#include <windows.h>int main(){ char arr1...原创 2020-02-09 18:30:00 · 276 阅读 · 0 评论 -
求两个数的最大公约数,最小公倍数。
求两个数的最大公约数,最小公倍数。求最大公约数的方法很多,本人目前水平有限掌握的是一种最常用的辗转相除法。求最大公约数#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ int a = 0; int b = 0; int c = 0; scanf("...原创 2020-02-07 11:20:43 · 374 阅读 · 0 评论 -
将三个数按照从小到大输出 (Swap函数与指针)
将三个数按照从小到大输出最最最简单且麻烦的#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ int a = 0; int b = 0; int c = 0; int temp = 0; scanf("%d%d%d", &a,&b,&a...原创 2020-02-06 21:23:23 · 4499 阅读 · 0 评论 -
求十个整数中的最大
求十个整数中的最大#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ int i = 0; int arr[10] = { 0}; for (i = 0; i <10; i++) scanf("%d", &arr[i]); for ...原创 2020-02-06 18:59:22 · 240 阅读 · 0 评论 -
给定两个整形变量的值,将两个值的内容进行交换。
给定两个整形变量的值,将两个值的内容进行交换。写法一创建第三方变量#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ int a = 0; int b = 0; int temp = 0; scanf("%d%d", &a, &b...原创 2020-02-06 18:33:58 · 256 阅读 · 0 评论 -
转义字符\ddd与\xddd
转义字符\ddd与\xddd\ddd 表示1-3个八进制字符\xddd 表示1-3个十六进制字符按整型数据类型输出#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ printf("%d\n", s...原创 2020-02-05 15:11:39 · 4116 阅读 · 0 评论 -
关于闰年
关于闰年#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ int i = 0; int count = 0; for (i = 1000; i <= 2000; i++) { if (i % 4 == 0) { if (i % 1...原创 2020-02-05 14:33:50 · 405 阅读 · 0 评论