动态问题解决方法以及一些注意点

一:printf("%s  %c%d",&a,&b) ;注意%S与%c之间要有空格。

      printf先进入缓冲区,在打印。\n起到刷新缓冲区的作用。

二:对动态问题的编程技巧:一画图,找到相关变量。二:分析位移长度和相关变量的关系。三:利用数组存我们要用的变量输出

四:用指针指向我们要用字符串并输出,或者改变字符串(*p++=*s++);四:取动态运动 的极限分析;

三:include " "在当前目录找头文件;include《》在系统指定目录找头文件

四:define函数

#include <stdio.h>
#define out  printf("helloword\n")
#define p(s) printf("%s\n",s)//起到替换作用,内部无需定义变量类型
#define sqr(x) x*x//a+b*a+b
#define spz(y) (y)*(y)//(a+b)*(a+b)
int main()
{
  int a=1,b=3,i,j;

  out;
  p("helo");
 i= sqr(a+b);
 j= spz(a+b);//类似调用返回值
printf("%d %d\n",i,j);


}
自定义函数与宏函数的区别:

宏函数优点:宏函数节省空间,缺点浪费时间在预编译上,没有语法检测不安全;

自定义函数优点:有语法检查,缺点:浪费空间;

五:static修饰局部变量

  static作用于局部变量时,改变其生命周期,直到程序结束才会被释放,不会因为函数调用结束,值被清空。

注意:函数调用最后释放栈空间,被static修饰局部变量放在数据段。

#include <stdio.h>
void add()
{
 static int a =0;//不加static之前输出11111,加了之后输出1 2 3 4 5不会被置0;
    a++;
  printf("%d\n",a);


}
int main()
{
    int i;
  for(i=0;i<5;i++)
  {
    add()
  }

}
 

猜你喜欢

转载自blog.csdn.net/hujiaqi2018/article/details/81213838
今日推荐