Loading

摘要: 本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由(a​0​​a​1​​⋯a​n−1​​)变换为(a​m​​⋯a​n−1​​a​0​​a​1​​⋯a​m−1​​)(最前面的m个数循环移至 阅读全文
posted @ 2018-09-20 12:15 拾月凄辰 阅读(599) 评论(0) 推荐(0)
摘要: 模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。 输入格式: 输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。 输出格式: 在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算 阅读全文
posted @ 2018-09-20 12:13 拾月凄辰 阅读(320) 评论(0) 推荐(0)
摘要: 转载自:https://wdxtub.com/2016/04/16/thin-csapp-2/ 缓冲区溢出 这一节是机器代码的最后一部分,主要说说由缓冲区溢出引起的攻防大战。我们先来看看程序在内存中是如何组织的(x86-64 Linux): 最上面是运行时栈,有 8MB 的大小限制,一般用来保存局部 阅读全文
posted @ 2018-09-14 15:19 拾月凄辰 阅读(699) 评论(0) 推荐(0)
摘要: 本文转载自:https://blog.csdn.net/shulianghan/article/details/20472269 C语言程序内存分配 (1) 内存分区状况 栈区 (stack) : -- 分配, 释放方式 : 由编译器自动分配 和 释放; -- 存放内容 : 局部变量, 参数; -- 阅读全文
posted @ 2018-09-13 21:52 拾月凄辰 阅读(1756) 评论(0) 推荐(0)
摘要: 转载自:https://wdxtub.com/2016/04/16/thin-csapp-1/ 阅读全文
posted @ 2018-09-12 13:03 拾月凄辰 阅读(331) 评论(0) 推荐(0)
摘要: 1 #include <stdio.h> 2 int main() 3 { 4 unsigned char a = 128; 5 char b = a; 6 printf("a = %d , b = %d",a,b); 7 return 0; 8 } 输出结果为 a = 128 , b = -128 阅读全文
posted @ 2018-09-08 13:34 拾月凄辰 阅读(245) 评论(0) 推荐(0)
摘要: sprintf() 函数 例如: 阅读全文
posted @ 2018-09-06 21:22 拾月凄辰 阅读(287) 评论(0) 推荐(0)
摘要: 程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。 3、全局区( 阅读全文
posted @ 2018-09-06 20:55 拾月凄辰 阅读(352) 评论(0) 推荐(0)
摘要: 此文章参考《深入理解计算机系统》P31。 先看如下代码: 12345的十六进制表示为:0x00003039 1 #include <stdio.h> 2 3 int main() 4 { 5 int a = 12345; 6 char *q = (char *)(&a); 7 for(int i = 阅读全文
posted @ 2018-09-04 20:58 拾月凄辰 阅读(465) 评论(0) 推荐(0)
摘要: 1 class Solution { 2 public: 3 vector<int> twoSum(vector<int>& nums, int target) { 4 vector<int> v; 5 for(int i = 0; i < nums.size(); ++i) 6 for(int j 阅读全文
posted @ 2018-08-21 11:51 拾月凄辰 阅读(95) 评论(0) 推荐(0)