zoukankan      html  css  js  c++  java
  • c++ 字符串直接量

      一个字符串直接量实际上是一个const char 的数组。它包含的元素个数比字面上的字符数多1.这个额外的字符是'\0';

    const char hello[]="hello";//编译器自动加上去

    等价于:

    const char hello[]={ 'h','e','l','l','o','\0' };

     初始化字符指针数组。

    假定我们要把数字表示的成绩转换为字母表示的成绩,根据下面的规则:

    如果成绩不低于  9 0  80   70  60  0

      对应字母成绩:  A           B       C      D       E

    下面是一个完成转换的程序:

    #include<iostream>
    #include<string>
    
    using namespace std;
    string letter_grade(double grade)
    {
        static const double numbers[]={ 90,80,70,60,0};
    
        static const char* const letters[]={ "A","B","C","D","E" };
        
        //compute the size of array
        static const size_t ngrades=sizeof(numbers)/sizeof(*numbers);
    
        for(size_t i=0;i<ngrades;i++)
        {
            if(grade>=numbers[i])
                return letters[i];
        }
        return "不符合要求";
    }
    
    int main()
    {
        int n;
        cin>>n;
        cout<<letter_grade(n);
    }

    使用static关键字,局部变量被声明为static,他的生存空间就可以不受函数的现在,我们只会在第一次调用函数时,创建并初始化static声明的变量,后来所有的调用都是第一次调用创建的。

     

    求数组大小

    sizeof(arr)/sizeof(*arr) 或 sizeof(arr)/sizeof(arr[0]);

     

  • 相关阅读:
    【bzoj4066】 简单题
    【bzoj1941】 Sdoi2010—Hide and Seek
    【bzoj2648】 SJY摆棋子
    【poj2154】 Color
    【poj2409】 Let it Bead
    【codevs1106】 篝火晚会
    【poj3270】 Cow Sorting
    【bzoj1004】 HNOI2008—Cards
    【bzoj3143】 Hnoi2013—游走
    【codeforces 749E】 Inversions After Shuffle
  • 原文地址:https://www.cnblogs.com/youxin/p/2501880.html
Copyright © 2011-2022 走看看