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

一: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()
  }

}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值