![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言学习
文章平均质量分 59
坂涩
这个作者很懒,什么都没留下…
展开
-
C语言字符串函数总结
常用字符串函数内存函数总结1.strlen函数原型:size_t strlen ( const char * str ); 功能:计算字符串长度.参数:str 要计算的字符串返回值:返回字符串长度不包括'\0'示例:int main(){ char str[] = "abcdef"; printf("%d\n", strlen(str)); //结果为6 return 0;}模拟实现:.原创 2022-02-11 22:07:46 · 678 阅读 · 0 评论 -
数据在内存中的存储方式与大端小端
(萌新编写,欢迎指正)在内存中数据从低地址向高地址使用,创建整形时先占用4个字节,地址增加然后在创建下一个整形。(数组创建时是连续创建,单纯的创建变量可能并非连续,这个和编译器有关)接下来把单位换成显示一个字节,它们的对应关系是把单位放大成一个字节时,一个整形占用内存以后,数据应该按什么顺序存在内存中?由此存储的方式可以分为大端字节序存储和小端字节序存储大端是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中。小端是指数据的低位保存在内存的低地址中..原创 2022-02-02 17:02:51 · 1003 阅读 · 0 评论 -
C语言使用freopen()函数进行重定向
函数定义:FILE *freopen( const char *path, const char *mode, FILE *stream );头文件:<stdio.h>参数说明:path: 文件名,用于存储输入输出的自定义文件名。mode: 文件打开的模式。和fopen中的模式(如r-只读, w-写)相同。stream: 一个文件,通常使用标准流文件。返回值:成功,则返回一个path所指定文件的指针;失败,返回NULL。功能:实现重定向,把预定义的标准流文...原创 2022-01-06 20:09:40 · 544 阅读 · 0 评论 -
初学函数栈帧
萌新编写,大佬勿喷寄存器在学习函数栈帧之前,我们要先了解寄存器.寄存器是集成再cpu上存储数据的一小块区域,读写速度非常快用来存储指令,数据和地址.例如:ebp,esp,eax,ebx.其中ebp和esp用来维护函数栈帧栈区c语言中内存分配的栈区用来存储函数,随着函数的创建和销毁而使用.栈区从高地址向低地址使用.图片来自大佬博客比我写的详细很多函数栈帧(详细图解)_ZHOUZH的博客-CSDN博客_函数栈帧一、栈 简单来说栈是一块由函数运行而临时占用的内存区域,其主.原创 2022-01-02 22:47:22 · 244 阅读 · 2 评论 -
超详细递归实现汉诺塔
汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。——百度百科递归的精髓是大事化小,所以我们先从简单的开始研究.一层汉诺塔时.两层汉诺塔时三层汉诺塔时分析可得解开汉诺塔步骤是1.将上面的(n-1) 层..原创 2021-11-08 22:44:40 · 1795 阅读 · 4 评论 -
使用getchar()函数清理缓冲区
小白编写,大佬勿喷,欢迎指正.getchar()函数在缓冲区内获取一个字符获取失败将会返回EOF(EOF是一个字符常量 为-1)头文件是<stdio.h>当我们写了这样一段代码时#include <stdio.h>int main(){ char ch = 0; char arr[20] = { 0 }; printf("请输入密码:"); scanf("%s", arr);//输入abcdef printf("请确认密码(Y/N)");原创 2021-10-27 14:57:40 · 2148 阅读 · 3 评论 -
打印输出素数
质数(素数)定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。先上代码#include <stdio.h>int main(){ int i = 100; int j = 0; for (i = 100; i <= 200; i++) { for (j = 2; j < i; j++) { if (i % j == 0) //不是素数 { break; } } if (j == i) { printf原创 2021-10-25 21:02:27 · 128 阅读 · 0 评论 -
统计行数题
题目要求以一行仅由一个字符'@'组成的行作为结束标志所以使用whlie循环因为是一行仅有一个@字符所以要满足字符串长度为1且字符为'@'所以判断条件要是字符串长度为1且字符为'@'的逻辑取反#include<stdio.h>#include<string.h>int main(){ int len = 0; char str[1000] = { 0 }; int count = 0; gets(str); len = strlen(str)...原创 2021-10-18 22:49:16 · 65 阅读 · 0 评论