
C语言
文章平均质量分 92
C相关问题
Dutkig
奔跑吧, 用绝望追不上的速度。
展开
-
C——关键字深析(extern、static、const、register)
前言C参考手册中给出了C语言的32个关键字这篇博客主要是梳理和辨析这些关键字中大家最不熟悉的几个,主要包括:externstaticconstregister一、extern首先,我们要区分定义和声明的区别定义在创建实体的同时,并给其分配一块内存声明并没有分配存储空间用途:extern是一个外部声明,其作用是告诉编译器,此时所使用的的全局变量和全局函数并不是在本文件中定义,而是在同一个工程中的其他文件中进行了定义,使其通过编译产生.obj文件,从而在链接过程中将该声明的原创 2021-12-31 23:15:42 · 212 阅读 · 0 评论 -
C语言之数字处理中的常见问题
**C语言之数字处理中的常见问题**问题1:如何统计一个数字n是几位数?算法思想:定义一个记录数字位数的变量t(计数器),并初始化0,每丢弃一次个位数字时,计数器++1,直到被处理的数字n==0.源代码:int Count(long long){ int t = 0; // 计数器 if(n == 0) ...原创 2020-04-27 22:33:52 · 332 阅读 · 0 评论 -
自定义字符串函数(长度,复制,连接,比较,反序,atoi,itoa)
自己实现字符串函数求字符串长度strlen——Mystrlen字符串复制strcpy——Mystrcpy字符串连接strcat——Mystrcat字符串比较strcmp——Mystrcmp求字符串长度strlen——Mystrlenint Mystrlen(char str[]){ int count = 0; //计算器 for(int i=0;str[i]!='\0';i++) { count++原创 2020-05-17 13:02:44 · 592 阅读 · 1 评论 -
通过Swap函数理解指针在函数传递中的各种问题
主函数int main(){ int a = 10; int b = 20; //Swap_err1(a,b); //Swap_err2(a,b); //Swap_err3(a,b); Swap(&a,&b); printf("%d,%d\n",a,b); return 0;}第一种错误:(不进行指针传递时)子函数Swap中变量a和b仅仅只是赋值,main函数中的a和b是实参,Swap函数中的a和b是形参,它们不是同一个变量。void Swap_err1(原创 2020-05-17 21:38:48 · 592 阅读 · 0 评论 -
交换两个变量a和b,without 第三个变量tmp(三种方法的分析)
使用tmp的常规方法void Swap(int *a,int *b){ int tmp; tmp = *a; *a = *b; *b = tmp;}注:这是最好的方法方法一:使用“+”运算int a = 15;int b = 20;a += b;//a=35.b=20b = a - b;//b=15,a=35a = a - b;//a=20,b=15是否存在溢出风险?方法二:使用“-”运算int a = 20;int b = 30;a -= b;//a=-10.b原创 2020-05-21 23:13:52 · 271 阅读 · 0 评论 -
位运算高级应用
位运算的高级应用位运算符: 针对整数的二进制.下面的数据假设为1字节(实际为4字节)12 0000 110013 0000 110112 & 13 0000 1100 按位与,相同的位都为1才为112 | 13 0000 1101 按位或,相同的位只要有一个为1就为112^13 0000 0001 按位异或,相同的位不一样才为1,否则为0~12 1111 0011 按位取反,原来的位为1则取反为0,为0则取反为1原创 2020-06-15 21:59:49 · 322 阅读 · 0 评论 -
字符串经典面试题
1、编码完成下面的处理函数,函数将字符串中的字符’‘移到字符串的前部分,前面的非’’字符后移,但不能改变非’‘字符的先后顺序,函数返回串中非’'字符的数量。(要求尽可能的占用少的时间和辅助空间)。例如:原始串为autoch**ips,处理后为******autochips,函数返回9.(1)请用文字或流程图简要描述您的思路;(2)请用C语言编程实现,注意时间和空间开销。int Move1(char* str)//O(n),O(n){ char* arr = (char*)malloc(str原创 2020-06-21 18:46:22 · 617 阅读 · 0 评论