- 博客(8)
- 收藏
- 关注
原创 #define与typedef的区别
#define与typedef最大的区别是两种对象针对的软件不同。#define在预处理过程中进行源代码中字符替换。不参与翻译检查语法。typedef定义的类型别名会被静态系统检查,所以需要在已有类型定义新类型,否则会在编译时出错。此外,typedef可以定义较复杂的类型。而宏定义做不到。typedef常见用法:1.常规变量类型定义例如:typedef unsigned ch...
2018-09-24 23:07:58
186
原创 如何使用指针
指针的用法其实也不难,指针主要解决什么问题呢?当一个函数的改变需要影响另一个函数,这时候需要用到指针。例如:void Fun(int **pp){ *pp = NULL;}int main(){ int a = 10; int *p = &a; Fun(&p); printf("%d\n",*p); return 0;}其中Fun函数影响了主函数中变量的值...
2018-06-02 18:54:39
2071
原创 关于进制的两个问题
进制转换主要看个位与个位相乘。例如30!中在十进制中有多少个0呢?5!=120 随后120*6*7*8*9都没有零出现因为个位相乘没有零。直到10!出现2个零。所以规律是寻找相乘等于5的因子数。有几个5就有几个零。所以20!:5!有1个0;1*510!有2个0;2*515!有3个0;3*520!有4个0;4*525!有6个0;5*530!有7个0;6*5...
2018-06-02 15:35:34
271
原创 C语言 scanf与printf的返回值
在使用scanf函数时要特别注意它的返回值,最好看一下它是否返回正确的返回值。例如:#include<stdio.h>int main(){ int a; int b; int n=scanf("%d,%d",&a,&b); //成功返回的个数 printf("a=%d,b=%d\n",a,b); printf("%d\n",n); retu...
2018-05-27 15:24:12
1700
1
原创 C语言 数据处理
在不使用scanf函数如何对输入的数进行逆序输出呢?首先要得到该数的位数,因为需要在顺序输出里使用。代码如下:int Getfigure(int n){ int tmp=0; //计算循环次数 while(n != 0) { n /= 10; tmp++; } return tmp; //该数的位数}其次要清楚该处理什么样特点的数,对这个数的个位进行...
2018-05-26 11:55:30
4622
原创 调试的方法以及重要性
调试在程序编程中起到很重要的地位,调试可以帮助程序员解决很多问题。但是在编写程序前,要对需要编写的程序有自己的思路,何时需要有用的变量以及常量,这都是需要思考的。...
2018-05-17 23:36:08
5999
原创 C语言中浮点数的精度问题
1.浮点数出现精度问题的原因:浮点 字节数 有效数字位float46double815实际上一般选用double类型,double有15位有效数字若输入的数字为16位则会有误差。int main(){ double a=9999999999999999; printf("%f\n",a); return 0;}2.怎样才能减少误差带来的影响:使用宏定义一个EPS来判断误差:#defi...
2018-05-07 13:39:39
5943
原创 C语言宏定义
宏定义写在开头,只是字符替换。具有以下特点:1.宏定义增加函数总体的代码长度:double Area(int r){ return N*r*r;}double Area1(int r){ return N*r*r;}int main(){ double i=Area(2); printf("%f\n",i); double j=Area1(2); printf("%f...
2018-05-06 16:30:57
1071
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人