zoukankan      html  css  js  c++  java
  • 关于一些零碎的注意问题

    1.关于scanf与printf的返回值

    1. scanf 函数是有返回值的,它的返回值可以分成三种情况
    
         1) 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b);
         2) 0,表示用户的输入不匹配,无法正确输入任何值。如上例,用户如果输入",3 4",返回0。
         3) EOF,这是在 stdio.h 里面定义的常量(通常值为-1),表示输入流已经结束。在Windows下,用户按下CTRL+Z,就表示输入结束;Linux/Unix下使用CTRL+D
    
    2. 为什么前面 scanf 的格式串里面,%s 和 %c 中间需要空格呢?
      那是因为如果没空格的话。。。oldchar输入的就是空格了= =.
    
    3. 顺便说一下,printf 的返回值是输出的字符数,例如,printf("1234")的返回值是4,而printf("1234
    ")的返回值是5。

    2.关于比赛时的 ~ scanf与scanf != EOF

    EOF一般为-1,那么scanf("%d",&n)!=-1等价于~scanf("%d”,&n)

    3.关于动态数组问题

    int n;
    scanf("%d",&n);
    int a[n];//错误
    //注意VC++6.0的标准是不允许定义动态数组的,不过现在的标准貌似都支持,所以这一点可以忽略

    4.long long int类型

    long long 类型的0表示为 0LL

    5.unsigned int类型

    很多STL的函数返回值为unsigned ,所以还是比较常用
    使用unsigned int类型要注意
    unsigned int的 0减1会变为正无穷

    6.短路特性的使用及注意事项

    //短路特性不能把++放在if的括号里边,否则第二个++可能无法生效
    if(ans1>=flag&&ans2>=flag){
    break;
    ans1++,ans2++;
    }

    7.printf()函数输出double类型问题

    printf()函数中不存在% l f
    printf()输出double类型数据不能用 lf 否则会出错

    8.bool类型问题

    尽量不要把0和1当作false和true来用
    因为如果0不小心减1变成负数就没法作为正常判断条件终止了

    9.define问题

    //define时千万不要重定义系统的关键字,不然后面用到的时候会报错,找错误找到自闭
    #define max 1000

    10.全局数组和变量

    全局数组和变量定义后默认均为0

    11.说说关于双重for循环的变量定义

    //变量能少定义就少定义
    //不要定义重名变量
    //定义变量时尽量有点技术含量,不要搞一堆a,b,i,j来糊弄人
    //最好不要定义成 i j,因为太难分辨了,哈哈
    //如果写了i,j一定要注意不要用混了

    12.%c输入字符

    1.
       //能不用%c尽量不要用
       //哪怕要输入一个字符,也要定义一个字符数组str【】,输入%s,用str[0] 
       表示一个字符
    2.
       int n;
       char a,b;
       scanf("%d",&n);
       scanf(" %c %c",&a,&b);//注意%c前面有一个空格哦,这样就不用吞回车

     13.结构体的初始化

    struct node
    {
        int x,y;
        node(){x=0,y=0;}
    };
    struct node
    {
        int x,y;
        node(){x=0,y=0;}
        node(int xx,int yy)//构造函数,不定义对象就可以作为参数
       {
             x=xx,y=yy;
       } 
    };
    queue<node>q;
    q.push(node(1,2));//直接调用构造函数
    //而不需 node se;  se.x=1,se.y=2; 然后q.push(se);q.push(se);

    14.无穷大定义

    #define inf 0x3f3f3f3f
  • 相关阅读:
    工厂方法和抽象工厂
    waterMarkTextBox
    button hot key 热键
    wpf 双击行。。获得行信息
    update comboBox
    WPF标准控件模板查看程序(文件里面)
    Sp EF输出 临时表
    tree view
    Ubuntu 常用命令
    ESP8266 开发记录
  • 原文地址:https://www.cnblogs.com/1911087165zzx/p/11344139.html
Copyright © 2011-2022 走看看