
C语言
文章平均质量分 69
学习C语言,练习分享
爱学习的娟宝宝
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言经典例题(包含可vs可运行代码)
10道C语言经典例题(包含在vs可运行代码)NO1. 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?int main(){ int i = 0; int j = 0; int k = 0; for (int i = 1; i < 5; i++) { for (int j = 1; j < 5; j++) { for (int k = 1; k < 5; k++) { if (i != j&&j !=原创 2021-01-08 20:23:39 · 500 阅读 · 0 评论 -
三种方法:写一个函数,每调用一次函数,就会将num的值增加1,&&可能遇到的问题
写一个函数,每调用一次函数,就会将num的值增加1,以及可能遇到的问题1.传址int AddNumAddress(int *p){ return ++(*p);}int main(){ int num = 1; int arr1=AddNumAddress(&num); int arr2 = AddNumAddress(&num); printf("%d %d\n", arr1, arr2); system("pause"); return 0;}2.全局原创 2020-12-31 23:18:51 · 2157 阅读 · 0 评论 -
整形在内存中的存储&原反补码转换&整型提升
C中基本数据类型分4种:整型、浮点型、指针、聚合类型(如数组和结构)整型:字符、短整型、整型、长整型,它们都分为有符号和无符号两种。符号位:‘ 0’表示正数 ,‘1’表示负数 。原码,反码,补码原码 直接将二进制按照正负数的形式翻译成二进制就可以。反码 将原码符号位不变,其他位按位取反补码 反码+1补码变为反码:补码符号位不变其他位按位取反+1得到原码。 对于整型来说,数据存放内存中其实存放的补码,其中正数和无符号数原反补相同为什么使用补码存放: 在计算机系统中,数值一原创 2020-12-31 15:43:01 · 332 阅读 · 0 评论 -
C语言创建通讯录详细代码&&运行结果
C语言创建通讯录contact.h#ifndef __CONTACT1_H__#define __CONTACT1_H__#define _CRT_SECURE_NO_WARNINGS#include<assert.h>#include<string.h>#include<stdio.h>#include<windows.h>#include<stdlib.h>#define SIZE 128#define TOTAL 100原创 2020-12-17 15:19:56 · 1148 阅读 · 0 评论 -
C语言动态内存块两道面试题
C语言动态内存块两道面试题题目一:void GetMemory(char* p){ p = (char*)malloc(100);}void Test(void){ char* str = NULL; GetMemory(str); strcpy(str, "hello world"); printf(str);}结果,程序崩溃错误一:在堆区开辟空间,未进行释放。错误二:没有判断是否开辟成功错误三:指针传参会发生临时拷贝在调用GetMemory函数时,p指针是str原创 2020-12-07 23:47:30 · 273 阅读 · 0 评论 -
C语言memmove和memcpy的区别以及模拟实现库函数memmove
模拟实现库函数memmovevoid *my_memmove(void *destination, const void *source, int num){ assert(destination&&source); char *dest = (char *)destination; char *src = (char* )source; if (dest>src&&dest<(src +num)) { dest = dest + num - 1原创 2020-12-06 23:29:49 · 211 阅读 · 0 评论 -
冒泡排序
冒泡排序//冒泡排序思路:1.先写内层,每一次循环找到本轮的最大数比如:2,7,8,10,5,1一次内层循环结果为:2,7,8,5,1,102.在写外层循环,一共循环数组个数-1次,最后一个数自己本身不需要比较3.确定内层循环的次数,外层每增加一次,内层就减少一次,即已经找到的i个最大值不需要在进行比较3.如果数组本身已经是有序升序的数组,则不要作比较,此时第一次内层循环开始,无法进入if语句当中,此时flag的值也将无法被修改。BubbleSort(int arr[], int num)原创 2020-10-30 20:51:29 · 160 阅读 · 0 评论 -
倒计时函数代码
倒计时函数代码//倒计时void show(){ int count = 5; while (count) { printf("%d\r", count); // "\r",表示回车,回车并不是换行,是将光标设置到最左侧 count--; Sleep(1000); //暂停一秒 }}原创 2020-10-18 23:27:59 · 229 阅读 · 0 评论 -
演示多个字符向中间汇聚
演示多个字符向中间汇聚int main(){ //演示多个字符向两边汇聚 char str[] = "hello world,hello bit"; char lable[] = "#####################"; int left = 0; int right = strlen(str) - 1; for (; left <= right; left++, right--)//条件初始化,条件判定,条件更新 { lable[left] = str[left];原创 2020-10-18 23:21:29 · 129 阅读 · 0 评论 -
密码登录两种设计方法
密码登录两种设计方法#define NAME "tom"#define PASSWD "123456"int main(){ char name[64]; char passwd[64]; int times = 3; //while语句初始化//方法一: while (times) //while条件判定 { printf("请输入账号:"); scanf("%s", name); printf("请输入密码:"); scanf("%s"原创 2020-10-18 23:18:08 · 948 阅读 · 0 评论 -
有序升序数组的二分查找
有序升序数组的二分查找//有序升序数组二分查找#include<stdio.h>#include<windows.h> //控制台显示int BinSearch(int arr[],int num, int x){ int left = 0; int right = num - 1; while (left<=right) //条件判定 { int mid = (left + right) / 2; //先与中间数字进行对比 if (x原创 2020-10-18 23:12:10 · 1135 阅读 · 0 评论 -
找单身狗 :一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。编写一个函数找出这两个只出现一次的数字。
找单身狗 :一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。编写一个函数找出这两个只出现一次的数字。一、题目解析数组{1,2,3,4,1,2,3,4,7,8},即编写函数找到7,8二,异或性质(1)a^a=0;(2)a^0=a;(3)a^(b^c)=b^(a^c)=c^(a^b);三、思路(1)对于出现两次的元素,使用“异或”操作后结果肯定为0,那么我们就可以遍历一遍数...原创 2020-04-30 08:57:01 · 583 阅读 · 0 评论 -
自定义类型:结构体,枚举,联合体的举例
自定义类型:结构体,枚举,联合体的举例结构体结构体类型声明struct Stu { char name[20]; int age; char sex[5]; char id[20];}s;int main(){ struct Stu s = { "huanhuan", 18, "nan", "123456" };//结构体初始化 return 0;}结构体嵌套st...原创 2020-04-26 21:49:14 · 400 阅读 · 0 评论 -
Visual Studio(2013)如何解决error C4996
Visual Studio(2013)如何解决error C4996解决: error C4996: ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online he...原创 2020-04-23 23:12:10 · 373 阅读 · 0 评论 -
模拟实现库函数strstr详细源代码
模拟实现库函数strstrstrstr查找子字符串char*my_strstr(const char*p1, const char* p2){ if (!(char*)p1 ) { return (char*) p1; } char*s1 = (char*)p1; char*s2 = (char*)p1; char*cur =...原创 2020-04-21 15:12:34 · 333 阅读 · 0 评论 -
C语言实现《初级扫雷》小游戏(代码及运行结果)
初级扫雷游戏思路:game.c//游戏实现模块;test.c//测试游戏;game.h//函数声明雷信息设置,1.布置好棋盘雷的信息( 1.棋盘99格子,创建为1111,排查雷周围坐标个数,防止越界,可初始化为‘0‘,不影响统计数)2.布置排查出的雷棋盘的信息3.初始化棋牌信息4.打印棋牌5.布置雷6.扫雷test.c在这里插入代码片...原创 2020-04-19 14:59:11 · 392 阅读 · 0 评论 -
模拟实现库函数strlen、strcpy、strcmp、strcat
模拟实现strlenint my_strlen(const char*arr){// asssert(arr!=NULL); int count = 0; while (*arr != '\0') { count++; arr++; } return(count);}int main(){ char arr[] = "abcdftg"; int count = m...原创 2020-04-18 17:14:34 · 1045 阅读 · 1 评论