摘要:
1、函数fun()的功能:从低位开始取出整形变量s中偶数位上的数,依次构成一个新数放在t中。高位仍在高位。 效果理想:但是经测试的时候出现了错误 输入987654321时,打印出来的却是18681。经过内存调试,发现内存的空间也是有限。最多只能存储1286608618 2、函数fun()功能是将形参 阅读全文
摘要:
随着对指针的学习,慢慢我也接触到了野指针这个问题 什么是野指针呢? 因为指针指向的是该变量的地址,如果这个指向的地址是不可知的,随机性的,不正确的。那这个指针就是野指针。 野指针的成因: 1、指针未初始化 VS2013版本的编译器就报错了,有些编译器不会报错。但要注意指针没有初始化,那就是随机值。 阅读全文
摘要:
1、实现函数action()初始化数据全0的操作 2、实现函数assignment()利用指针给数组赋值0~9 3、实现函数print()打印数组的每个函数 4、实现函数reverse()完成对数组的逆置 代码有点长,还不知道怎么截取哈,看来还得去学一哈剪辑这块。 void action(int * 阅读全文
摘要:
指针到底是什么? 通过学习,我的理解是:在写源程序时,所有申请的变量,是储存在内存那块呢?那么就引出了指针这个概念,因此指针是找寻变量储存的地址。 不难理解,指针是变量的地址,那么根据这个地址就能精确的找到该变量。(至于为什么叫指针,应该是统一定义的标准吧) 指针类型:(int *、char *、d 阅读全文
摘要:
这个问题仔细想了想,是s,t,s[],t[],重定义了,导致输入的是s,t这个定义变量,与传参传的是指针变量就不匹配了。 如果加上对s,t的地址,让传参的形式想匹配,还是报错,这块也没有弄懂,初步觉的传参过去的s,t没有意义,因此报错。 经过修改,正确的代码: 函数fun的功能是将s内的字符串逆序存 阅读全文
摘要:
int main(){ int x = 0; scanf("%d", &x); if (x > 999 || x < 0) { printf("输入错误,请输入0至999的整数"); exit(-1); } printf("\nThe result:\t",fun(x)); return 0;} 阅读全文
摘要:
什么叫做整形提升: CPU在运算时操作字长是按照整形(int)来进行运算的。依次要把参与运算的char型和short int转化成int型进行计算。 即使两个char型相加也需先转化为CPU内的标准形式,在进行计算。 1、隐式类型转换(整形提升)【针对char 、short int类型】 计算形式为 阅读全文
摘要:
1、算术操作符(+、-、*、/、%) %:两边的类型必须为整数 /:double、flout中除数与被除数之间有一个浮点数即可 +、-、*、/:两边的类型可以不一样 2、移位操作符(<<左移 >>右移) 逻辑右移:右移后左边添0 算术右移:右移后左边添加的位与以原数的符号位相同 在C语言中,左移右移 阅读全文
摘要:
1、数组在内存中是连续存放的,地址呈4个字节递增 2、数组的定义需要初始化,否则输出会已随机值输出 3、strlen()和sizeof()之间无关联:strlen():是求字符串长度的 只能针对字符串求长度 库函数 需要引用头文件 <string.h> sizeof():计算变量、数组类型的大小 单 阅读全文
摘要:
核心:交换两个数,不申请第三变量做存储变量。 1、利用两数之间求和减自身的方法: 2、转换成二进制数,进行异或求解: 异或(a^b):相同为0,相异为。 缺点:1、执行效率低 2、可读性低、可维护性低 阅读全文