C/C++
文章平均质量分 90
c
橘猫小八的鱼
这个作者很懒,什么都没留下…
展开
-
关于补码,反码的学习
as we know, char has 8 bits.char b = 128;printf("%d", b); // print -128that's overflow, so why print -128?128 的二进制形式 1000 0000char是有符号的,所以第一位是符号位且为1,那就认为这个数是负数。然后负数都是用补码表示,计算机认为这就是一个负数的补码原码被计算出来为 1000 0000(0 1000 0000 -> 0 0111 1111(减1) ->原创 2021-04-13 00:43:15 · 307 阅读 · 0 评论 -
Resolve build errors due to circular dependency amongst classes
I often find myself in a situation where I am facing multiple compilation/linker errors in a C++ project due to some bad design decisions (made by someone else :) ) which lead to circular dependencies between C++ classes in different header files (can happ翻译 2021-03-31 00:03:42 · 246 阅读 · 0 评论 -
C语言 离散数学实验 求满射函数
啊,这学期做的实验网上竟然找不到,写出来了,有两种做法 ,我这个是实现的公式 这个 通过递归来求的二项式 阶乘#include <stdio.h>/*此处由于在组合数中有n-n等于0 的情况 a应等于0 不影响结果*/int jiecheng(int a){ //num=jiecheng(4) num=4*jiecheng(3)->num=4*3*jiechen...原创 2019-11-28 22:45:43 · 3706 阅读 · 0 评论 -
C语言中的左移操作符和右移操作符是什么意思
<<左移操作符 >>右移操作符 到底是怎么计算的呢b=a<<n 等价于b=a*2^n说个容易记的左移n位就是把这个数转为二进制后 后面加n个零 前面的n位舍弃右移n位就是把这个数转为二进制后 前面加n个零 后面的n位舍弃什么意思呢咱看代码第一行是十六进制打印 第二行是十进制打印先看十进制的b=24也就是a=24,自己快拿出你的小本子算算3...原创 2019-11-14 23:46:37 · 1901 阅读 · 1 评论 -
C语言的字符串输入问题
做了个实验,发现自己知识漏洞很多啊遂写个笔记一 scanf()读取问题1 当参数不为char类型时 它不读取缓冲区里面的空格和回车键并且认为回车是输入结束的标志即当你键入回车,这个scanf()就认为你输入结束开始从缓冲区取数 遇到空格读取结束2当参数为char类型 那么此时scanf()空格和回车都读取 并且把回车作为输入结束标志第一个图可以看到两个1之间是个空回车第二个可以看到读入的...原创 2019-11-20 13:53:28 · 1304 阅读 · 2 评论 -
C语言 strcmp()函数用法以及怎么判断两个字符串相等
strcmp();是处理字符串的,因此它在头文件string.h中strcmp(串1, 串2);返回值有以下三种情况:串1=串2,返回0串1>串2,返回一个正整数串1<串2,返回一个负整数。有个小应用判断两个字符串是否相等if(!strcmp(串1, 串2));我们知道 在c语言中,非0就为真,因为-1是非0值,所以为真,所以!(-1)为假,值为0所以 !strcm...原创 2019-11-20 14:32:57 · 7183 阅读 · 0 评论