重新学习C
Day 1
1.Printf 是有返回值的 如果在进程中没有给 return 或者 exit 那么printf给的返回值是一个有确定含义的返回值
2.特别要求精度的比较时,要注意计算机中float并不是数学上的运算 毫无顾忌的使用float会导致错误的发生
3.正则表达式中使用自增 i++这样的内容的时候要小心 因为在正则表达式中 ,成立的项也许会自增两次 这和运算优先级有着密切的关系 一般来说 带参宏的可靠性是低于同样功能的函数的 为了保证带参宏的可靠性 解决办法应该是加入代替值 如
#include <stdio.h>
#inchude <stdlib.h>
#define MAX(a,b) ({ int A=a,B=b; ((A)>(B)?(A):(B)); })
/*
#define MAX(a,b) ({ typeof(a) A=a,B=b; ((A)>(B)?(A):(B)); })
*/
int main()
{
int i=5,j=3;
printf(%d/n”,MAX(i++,j++));
exit(0);
}
这样就不会出现i自增两次出现不对劲的情况了 这里打印的就是5