- 博客(7)
- 收藏
- 关注
原创 c语言编写程序判断机器是大端或者小端储存
我们都知道机器对于整数的储存是分大端储存模式和小端储存模式的,那么怎么知道我们用的机器是大端还是小端呢?今天我就用c语言编写一个程序来判断大小端。如果有什么不对的请指正😀 #include<stdio.h> int main() { int a = 1; //a的十六进制位是0x00000001,所以容易取出并进行判断 char* p = &a;//对p解引用时只是拿到a的第一个字节的内容 if (*p == 1) //如果是小端,那么第一个字节就是01 { pr
2022-03-28 22:51:12 2711
原创 c语言模拟strcpy函数
我们知道strcpy函数可以将一个字符串中的内容拷贝到另外一个字符串中,今天刚学完,所以就想就用c语言来模拟一下,如果有什么不对的请大家指正 #include<stdio.h> #include<assert.h> void my_strcpy(char* dest,const char* start)//const修饰防止start被修改 { assert(start!=NULL);//防止源头start是空指针 while(*start!='\0') {
2022-03-26 22:40:32 833
原创 模拟strlen函数求字符串长度
1.使用简单的循环来实现 int my_strlen(char* str) { int count = 0; while (*str != '\0') { count++; str++; } return count; } #include<stdio.h> int main() { char arr[] = { 0 }; scanf("%s", arr); int len = my_strlen(arr); printf("字符串长度为%d\n", len)
2022-03-23 23:04:30 411
原创 计算正整数二进制中1的个数--c语言
想要判断二进制1的个数,我是采用了按位与结合位运算来实现的,如果有什么不对的请指正。 int main() { int a = 0; scanf_s("%d", &a); int count = 0; int i = 0; for (i = 0; i <= 32; i++) { if (a&1 == 1) { count++; } a=a>> 1; } printf("有%d个1\n", count); return 0; }
2022-03-21 23:12:49 856
原创 交换两个变量的值(三种方法)
本人最近开始学c语言,新学的交换变量法,特意总结了一下,有什么不对的请指正,谢谢! 一,定义第三变量交换 #include<stdio.h> int main() { int a=6; int b=8; int ret=0; ret=a; a=b; b=ret; printf("a=%d b=%d\n",a,b); return 0; } 二,不用第三变量,^(异或)版 #include<stdio.h> int main() { in
2022-03-19 22:14:23 1123
原创 新学--C语言斐波那契数列两种方法
1.函数递归法,该方法计算时间过长,且容易栈溢出 #include<stdio.h> int Fib(int n) { if(n<=2) return 1; else return Fib(n-1)+Fib(n-2); } int main() { int n=0; int ret=0; scanf("%d",&n); ret=Fib(n); printf("%d\n",ret); return 0; } 2.用for循环版,计算时间短,但是代码
2022-03-07 22:08:37 268
原创 班级成绩管理系统(非链表版)
#include <stdio.h> #include <stdlib.h> #include<string.h> #define A 1314 /*定义了一个结构体来存放学生信息*/ typedef struct { char stu_name[20]; int stu_id; double math; double chinese; double english; double av_grade; }student;...
2022-01-15 21:34:38 407 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人