一段错误代码

来源:互联网 发布:王者荣耀淘宝代充原理 编辑:程序博客网 时间:2024/05/17 01:19
// 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;}

<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
原创粉丝点击