C语言
文章平均质量分 67
C语言
白少平
裸辞?
展开
-
求组合数(C语言)(三种方法)
首先输入样例就不对,应该是7 2,别弄错了,导致不能出结果21方法一:#include<stdio.h>int fact(int num);int main() { //从n个元素中取m个组合 int n = 0; int m = 0; scanf("%d %d", &n,&m); double ret = fact(n) / (fact(m) * fact(n - m)); printf("%.2f\n", ret);}int fact(i...原创 2021-12-04 18:12:32 · 23871 阅读 · 4 评论 -
数组越界死循环以及部分内存函数实现
这个程序放到编译器中运行的话会造成死循环,那这时我们可能会想,数组的总元素是10,而循环语句中的i要循环到12才结束,那么肯定会出现数组越界报错啊,但为什么会出现死循环而不是数组越界,并且这个语句为什么会形成死循环呢?下面我来给大家解释。首先我们得先从栈开始讲起(不知道什么是栈的小伙伴可以自己去搜),我们平时创建的局部变量就放在栈中,而栈的使用规则从高地址向低地址使用的。2.&数组名,这个数组名也表示整个数组,取出的是整个数组的地址。,那么这个循环会重新开始,也就造成了死循环。原创 2023-12-09 17:22:07 · 132 阅读 · 0 评论 -
(初阶版本)扫雷游戏(C语言)娱乐教程
预祝梅西第七座金球!!!!!!你们说会是梅老七吗?1.游戏分成三部分来写game.c里面进行实现函数 game.h声明函数头文件宏定义等 test.c写程序的主体部分2.实现效果展示3.全部代码具体讲解请看注释1.game.h一》宏定义与头文件#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>//生成随机数的头文件#include <stdlib.h>#include <time.原创 2021-11-21 23:12:31 · 3547 阅读 · 0 评论 -
(C语言)三子棋(井字棋)娱乐教程
司机镇楼!!!!!!懒得去水印了,不要介意!自我介绍:小白,如若出现问题望提出建议!目的:写个博客加深印象,快乐学习你我他口号:好好学习,努力养家备注:看了正式版看不懂可以转接娱乐版注意:这是个对于初学者来说的大型工程,分成了三部分来写:test.c,game.c,game.h正式版:兄台,也不知道你同不同意,我就放个链接!谢谢!(18条消息) 三子棋代码实现思路解析与易错点纠正_xbhinsterest11的博客-CSDN博客这位兄台的就很不错,正式版就用这位大神...原创 2021-11-13 20:58:21 · 2631 阅读 · 2 评论 -
C/C++内存管理
动态内存管理原创 2022-11-03 21:43:11 · 584 阅读 · 0 评论 -
打印整数二进制的奇数位和偶数位
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>/*思路:1. 提取所有的奇数位,如果该位是1,输出1,是0则输出02. 以同样的方式提取偶数位置3. 注意提取奇偶位,如9,打印结果应为0000000000000001 - 偶数位0000000000000010 - 奇数位4. 右移是算术位移的前提下,算术位移即和左移一致0000 0000 0000 0000 0000 0000 0000 1001 - 90000 0.原创 2021-11-25 10:38:25 · 458 阅读 · 0 评论 -
C语言:交换两个数(是否创建临时变量)
少壮不努力,老大徒伤悲!!原创 2021-11-25 12:45:03 · 680 阅读 · 0 评论 -
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水(编程实现)。
举例分析:5元买5瓶水5瓶水 ----- 5个空瓶换2瓶水余下一瓶(5/2+5%2)3瓶水 ----- 3个空瓶换1瓶水余下一瓶(3/2+3%2)2瓶水 ----- 2个空瓶换1瓶水 (2/2+2%2)共计5+2+1+1=9,故是将最开始的五瓶即5+5/2+3/2+2/2括号内即是空瓶的数比如3/2+3%2中的3是上一次的5/2+5%2=3#include <stdio.h>int main(){ int money = 1; while (mo...原创 2021-12-15 13:28:38 · 873 阅读 · 0 评论 -
memcpy与memmove的模拟实现与应用
1.memcpyeg(memcpy):memmem#include<stdio.h>#include<assert.h>int main(){ int arr3[] = { 1,2,3,4,5,6,7,8,9,10 }; int arr4[5] = { 0 }; memcpy(arr4, arr3, sizeof(arr3[0]) * 5); //memcpy(arr4, arr3+5, sizeof(arr3[0]) * 5);也可以//函数原型:vo原创 2022-04-08 13:43:28 · 379 阅读 · 0 评论 -
offsetof宏的实现
offset的宏定义原创 2022-05-01 14:13:31 · 377 阅读 · 0 评论 -
消失的数字
消失的数字原创 2022-06-06 22:07:13 · 76 阅读 · 0 评论 -
C语言经典笔试题--整形提升、大小端、前置与后置++、二进制运算规则(1与0的问题)、越界访问问题
C语言部分基础知识的回顾和一些笔试题C语言复习。原创 2022-10-04 22:46:03 · 209 阅读 · 0 评论 -
C语言-动态内存管理常见错误
C语言-动态内存管理常见错误原创 2022-10-05 16:23:13 · 205 阅读 · 0 评论 -
C语言数据在内存中的存储
大小端一、数据类型介绍char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float //单精度浮点数double //双精度浮点数读数据永远是从低地址开始的!!!数据存储:小端模式和大端模式——终于搞明白了!!!_(1)二进制(1101001011)位序存储的小端与大端模式是?-CSDN博客地址编号小的是低地址,地址编号大的是高地址什么是数据的低位、高位?小端模式数据的低位放在低地址空间,数据的高位放在高地址空间。原创 2022-10-15 22:40:36 · 351 阅读 · 0 评论 -
指针笔试题
C语言指针数组相关原创 2022-10-17 21:56:22 · 339 阅读 · 0 评论 -
C语言指针笔试题详解
指针笔试题常见原创 2022-10-19 15:05:08 · 505 阅读 · 0 评论 -
C语言--字符函数和字符串函数的模拟实现
模拟实现字符函数原创 2022-10-26 21:48:03 · 249 阅读 · 1 评论 -
C语言--如何交换两个数与对于递归的理解以及数组赋值的注意事项
实参:真是传递给函数的参数,在进行函数调用时,必须有确切的值;形参:指的是函数名括号中的变量,因为形参只在函数调用的时候才实例化(分配内存单元)。字符数组str共有10个元素,但str作为字符串,其长度为7,虽然最后一个字符是‘\0’,但它并不是结束标识因为系统会自动的给其分配一个结束标识。”(这种方式会自动给字符串的末尾添加结束标识,但需要注意的是字符串数组的长度一定要比赋值的长度多一个)//当实参传递给形参的时候,形参是实参的一份临时拷贝。如果成功,则返回写入的字符总数,否则返回一个负数。原创 2023-11-21 23:17:34 · 101 阅读 · 0 评论 -
C语言入门---位操作
因为按位或,又一个规律,1|x = 1;0|x = x,那么与1相或如果是1还是1,如果是0还是1。//相与的结果以%d的形式打印,即打印一个有符号的整数。规定了1111 1111 1111 1111 11111 1111 1111 1111为-1。//而c最高位是0,是正数,原码补码反码都一样,故打印3。//我们求出的是3和-5的补码按位与的结果存在了c里面。4.求一个整数存储在内存中的二进制中1的个数。11.srand与rand。14.枚举初始化与赋值。2.原码、反码、补码。6.将指定的位置置1。原创 2023-11-27 19:18:20 · 457 阅读 · 0 评论 -
sizeof--关键字
感觉是有一定的参考价值,所以拿出来分享,抛砖引玉。我们知道,对于一个数组array[20],我们使用代码sizeof(array)/sizeof(array[0])可以获得数组的元素(这里为20),但数组名和指针往往是容易混淆的,有且只有一种情况下数组名是可以当做指针的,那就是数组名作为函数形参时,数组名被认为是指针,同时,它不能再兼任数组名。sizeof(array)相当于求指针变量占用的字节数,在32位系统下,该值为4,sizeof(array)/sizeof(array[0])的运算结果也为4。原创 2024-05-19 14:43:52 · 708 阅读 · 0 评论 -
C语言指针入门
如果一个地址序列管理一个内存单元,那么电脑就能管理2^32个字节,即4294967296个字节,是4294967296/1024=4194304kb,是4194304/1024=4096MB,是4GB.先把此时p所指的值赋值给y,即第一个元素5,然后做自增运算,即p所指的值增加了1,为6,输出数组的第一个元素a[0]为6。时,先执行括号里面的*--p,先进行自减,也就是说此时指针p向前移动了一格,即此时指向数组的第一个元素。1. *p=&a[1]时,指针指向数组的第二个元素;原创 2024-05-19 15:00:14 · 341 阅读 · 0 评论