![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c基础
arctan90°
莫把遗憾留给来日方长、
展开
-
error:expected declaration or statement at end of input
C语言错误:expected declaration or statement at end of input可能错误:1. 某一个函数或者变量没有在使用之前声明。2. 某个地方少了个括号。eg:原创 2020-09-08 18:42:48 · 893 阅读 · 0 评论 -
鸡尾酒排序
冒泡排序的思想:冒泡排序的每一个元素都像气泡一样,根据自身大小,一点一点向着数组的一侧移动。算法的每一轮从都是从左到右比较元素,进行单向的位置交换。鸡尾酒排序做了怎样的优化呢?鸡尾酒排序的元素比较和交换过程是双向的。看这样一个例子:有8个数 组成一个无序数列:2,3,4,5,6,7,8,1,从小到大排序。按照冒泡排序的思想,过程如下:鸡尾酒排序过程:第一...原创 2019-05-22 22:42:27 · 217 阅读 · 0 评论 -
寻找全排列的下一个数
题目:给出一个正整数,找出这个正整数所有数字全排列的下一个数。(在一个整数所包含数字的全部组合中,找到一个大于且仅大于原数的新整数)如果输入 12345 则返回 12354如果输入 12354 则返回 12435如果输入 12435 则返回 12453思考:由固定几个数字组成的整数,怎样排列最大,怎样排列最小?解答:逆序排列最大,顺序排列最小。例子: 给出1、2...原创 2019-05-22 18:22:06 · 1436 阅读 · 8 评论 -
大端模式、小端模式
大端模式、小端模式一、什么是字节序字节序,就是字节的顺序,即大于一个字节类型的数据在内存中的存放顺序。在跨平台以及网络程序中字节序 应被考虑。字节序分为两类:Big-Endian和Little-Endian,引用标准的Big-Endian和Little-Endian的定义如下:a) Little-Endian就是低位字节放在内存的低地址端,高位字节排放在内存的高地址端。...原创 2019-05-24 13:46:04 · 308 阅读 · 0 评论 -
求最大公约数
暴力枚举从较小整数的一半开始,找到一个合适的整数 i,看看这个整数能否被a和b同时整除。int getGreatestCommonDivisor1(int a, int b)//暴力{ int big = a > b ? a : b; int small = a < b ? a : b; if (big%small == 0) { return small; ...原创 2019-05-20 22:15:04 · 609 阅读 · 0 评论 -
回调函数
回调函数百度百科: 回调函数是一个通过函数指针调用的函数。如果把函数的指针(地址)作为参数传递 给另一个函数,当这个指针被用来调用时,所指向的函数,就是回调函数。 回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的...原创 2019-05-13 21:17:57 · 187 阅读 · 0 评论 -
strcpy、strncpy、memcpy
strcpy、strncpy、memcpy区别一、strcpy函数原型:char* strcpy(char* dest,const char* src)功能:把src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间,返回指向dest的指针。注意,src和dest所指内存区域不可以重叠且dest必须需有足够的空间来容纳src的字符串,strcpy它只用于字符串复...原创 2019-04-25 00:06:19 · 196 阅读 · 1 评论 -
魔方阵(4k)
魔方阵 :n=4k(n=4,8,12,16... k=1,2,3,4..)一、规律(1)把1到n^2这些数字按照顺序填写到n*n格子中,按 4*4把它分割成k*k个小方阵。 (因为n是4的倍数,所以一定能用4*4个小方阵分割) (2) 将各个对角线上的数字,换成与它互补的数字。 (互补:最大数字与最小数字的和,即n*n+1)二、填数过程(以8*...原创 2018-05-08 00:59:39 · 402 阅读 · 0 评论 -
动态内存分配
为什么使用动态内存分配?声明一个数组时,必须指定数组长度,但是数组长度往往在运行时才知道,如果程序使用的元素数量超过了声明的长度,它就无法处理这种情况。显而易见,数组声明得更大一些,但是程序实际需要的元素数量比较少时,大部分内存空间就被浪费了。动态内存分配允许程序为一个长度在运行时才知道的数组分配内存空间。c函数库提供了几个函数,malloc,calloc, realloc 和 free,...原创 2018-05-01 13:37:33 · 180 阅读 · 0 评论 -
魔方阵(奇数)
奇数魔方阵一、规律:⑴ 将1放在第一行中间一列⑵ 从2开始直到n×n止各数依次按下列规则存放: 每一个数存放的行比前一个数的行数 -1,列数 +1⑶ 如果上一个数的行数为1,下一个数的行数应为n,即最后一行 //理解为封闭环形⑷ 如果上一个数的列数为n,下一个数的列数应为1,即第一列 //理解为封闭环形⑸ 如果按上面规则确定的位置上已有数,则把下一个数放在上一个数的下...原创 2018-04-23 18:27:09 · 948 阅读 · 0 评论 -
C:printf、sprintf、fprintf
printfprintf:printf函数用于在标准输出控制台打印字符数据流。语法:int printf(const char* str,…);eg:#include<stdio.h> int main() { printf("hello world\n"); return 0; }输出: ...原创 2019-04-15 00:26:18 · 240 阅读 · 0 评论 -
C:函数指针&指针函数
函数指针1)函数指针:本质是一个指针,但这个指针指向的是函数,并不是普通的基本数据类型或者类对象。 (函数指针可以像一般函数一样,用于调用函数、传递参数。)2) 定义:type (*func)(type , type ) eg:int (*fun)(int a, int b); // 声明函数指针 // 该函数指针 fun...原创 2019-04-13 16:14:31 · 4886 阅读 · 0 评论 -
内存分区
一、一个由C/C++编译的程序占用的内存: 程序代码区: 存放函数代码(二进制代码) 堆区(heap): 动态内存 在代码执行过程中由程序员分配和释放(若程序员不释放,程序结束时可能由OS回收) 栈区(stack): 局部变量和函数 在代码执行过程中由系统自动分配和释放 文字常量区:...原创 2018-05-09 00:41:35 · 159 阅读 · 1 评论