一段错误代码

// ptrstr.cpp -- using pointers to srings
#include <isotream>
#include <cstring>   // declare strle(), strcpy()
int main()
{
    using namespace std;
    char animal[20] = "bear";  // animal holds bear
    const char * bird = "wren";  // bird holds address of string 
    char * ps;                 // uninitialized
    
    cout << animal << " and";  // display bear
    cout << bird << "\n";      // display wren
    // cout << ps << "\n";     // may display garbage, may cause a crash
    
    cout << "Enter a kind of animal: ";
    cin >> animal;             // ok if input < 20 chars
    // cin >> ps; Too horrible a blunder to try; ps doesn't
    //            point to allocated space
    
    ps = animal;               // set ps to point to string
    cout << ps << "!\n";       // ok, same as using animal
    cout << "Before using strcpy():\n";
    cout << animal << " at " << (int *) animal << endl;
    cout << ps << "at" << (int *)ps << endl;
    
    ps = new char[strlen(animal) + 1];  //get new storage
    strcpy(ps, animal);                // copy string to new storage
    cout << "After using strcpy():\n";
    cout << animal << " at " << (int *) animal << endl;
    cout << ps << " at " << (int *) ps << endl;
    delete [] ps;
    return 0;
}

// ptrstr.cpp -- using pointers to srings
#include 
   
   
    
    
#include 
    
    
     
        // declare strle(), strcpy()
int main()
{
    using namespace std;
    char animal[20] = "bear";  // animal holds bear
    const char * bird = "wren";  // bird holds address of string 
    char * ps;                 // uninitialized
    
    cout << animal << " and";  // display bear
    cout << bird << "\n";      // display wren
    // cout << ps << "\n";     // may display garbage, may cause a crash
    
    cout << "Enter a kind of animal: ";
    cin >> animal;             // ok if input < 20 chars
    // cin >> ps; Too horrible a blunder to try; ps doesn't
    //            point to allocated space
    
    ps = animal;               // set ps to point to string
    cout << ps << "!\n";       // ok, same as using animal
    cout << "Before using strcpy():\n";
    cout << animal << " at " << (int *) animal << endl;
    cout << ps << "at" << (int *)ps << endl;
    
    ps = new char[strlen(animal) + 1];  //get new storage
    strcpy(ps, animal);                // copy string to new storage
    cout << "After using strcpy():\n";
    cout << animal << " at " << (int *) animal << endl;
    cout << ps << " at " << (int *) ps << endl;
    delete [] ps;
    return 0;
}
    
    
   
   
<textarea readonly="readonly" style="margin: 0px; padding-top: 0px; padding-left: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 12pt; line-height: inherit; font-family: inherit; overflow: auto; resize: vertical; border: 0px; position: fixed; left: -9999px; top: 0px;"></textarea><pre name="code" class="cpp">// ptrstr.cpp -- using pointers to srings#include <isotream>#include <cstring>   // declare strle(), strcpy()int main(){    using namespace std;    char animal[20] = "bear";  // animal holds bear    const char * bird = "wren";  // bird holds address of string     char * ps;                 // uninitialized        cout << animal << " and";  // display bear    cout << bird << "\n";      // display wren    // cout << ps << "\n";     // may display garbage, may cause a crash        cout << "Enter a kind of animal: ";    cin >> animal;             // ok if input < 20 chars    // cin >> ps; Too horrible a blunder to try; ps doesn't    //            point to allocated space        ps = animal;               // set ps to point to string    cout << ps << "!\n";       // ok, same as using animal    cout << "Before using strcpy():\n";    cout << animal << " at " << (int *) animal << endl;    cout << ps << "at" << (int *)ps << endl;        ps = new char[strlen(animal) + 1];  //get new storage    strcpy(ps, animal);                // copy string to new storage    cout << "After using strcpy():\n";    cout << animal << " at " << (int *) animal << endl;    cout << ps << " at " << (int *) ps << endl;    delete [] ps;    return 0;}









// limits.cpp -- some integer limits
#include <iostream>
#include <climits>
int main()
{
    using namespace std;
    int n_int = INT_MAX;
    short n_short = SHRT_MAX;
    long n_long = LONG_MAX;
    long long n_llong = LLONG_MAX;

    cout << "int is " << sizeof n_int << " bytes." <<endl;
    cout << "short is " << sizeof n_short << " bytes." << endl;
    cout << "long is " << sizeof n_long << " bytes." << endl;
    cout << "long long is " << sizeof n_llong << " bytes." << endl;
    cout << endl;

    cout << "Maximum values: " << endl;
    cout << "int: " << n_int << endl;
    cout << "short: " << n_short << endl;
    cout << "long: " << n_long << endl;
    cout << "long long: " << n_llong << endl << endl;

    cout << "Minimum int value = " << INT_MIN << endl;
    cout << "Bits per byte = " << CHAR_BIT << endl;
    cin.get();
    cin.get();
    return 0;
}




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值