KR_C

1.变量的声明还可以紧跟在任何其他标识符复合语句开始的左花括号之后。以这种方式声明的变量可以隐藏程序块外与之同名的变量,他们之间没有任何关系,并在与左花括号匹配的右花括号出现之前一直存在。
2.在不进行显式初始化的情况下,外部变量和静态变量都将被初始化为0,而自动变量和寄存器变量的初始值则没有定义(即初值为无用的信息数据)

    #include<stdio.h>
  2 
  3 int main()
  4 {
  5     int i = 0,
        int j = 5;     //此j和for内定义的j没关系
        int k;         //默认初始化为0
  6     for (i=0; i<2; i++)
  7     {
  8         int j = 3;
  9         printf("%d\n",j);
 10     }
 11         printf("%d\n",j);  
             printf("%d\n",k);                                                              
 12 }

         输出:3 
              3
              5
              0

3.宏定义应该适当使用圆括号。

#define square(x)  (x)*(x)//加入不加括号,当用aquare(z+1)调用宏时会错

4.可以通过#undef指令取消名字的宏定义,这样做可以保证后续调用的调用时函数调用,而不是宏调用。

5.

一个调试打印宏
#define dprint(expr) printf(#expr " = %s\n",expr)
eg:dprint("hello")

6.Linux中,在新的一行的开头,按下Ctrl-D,就代表EOF(如果在一行的中间按下Ctrl-D,则表示输出”标准输入”的缓存区,所以这时必须按两次Ctrl-D);Windows中,Ctrl-Z表示EOF。(顺便提一句,Linux中按下Ctrl-Z,表示将该进程中断,在后台挂起,用fg命令可以重新切回到前台;按下Ctrl-C表示终止该进程。)
那么,如果真的想输入Ctrl-D怎么办?这时必须先按下Ctrl-V,然后就可以输入Ctrl-D,系统就不会认为这是EOF信号。Ctrl-V表示按”字面含义”解读下一个输入,要是想按”字面含义”输入Ctrl-V,连续输入两次就行了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值