论坛首页 编程语言技术论坛

一个让高级C++程序员都会出错的小题目。

浏览 2933 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-03  
C++

      今天看到一个题目,来自于《C++ Primer Plus》。这是一个比较典型的问题,很多人都会遇到,这也是一个在C++输入时经常遇到的一个问题。

// instr1.cpp -- reading more than one string
#include <iostream>
int main()
{
    using namespace std;
    const int ArSize = 20;
    char name[ArSize];
    char dessert[ArSize];

    cout << "Enter your name:\n";
    cin >> name;
    cout << "Enter your favorite dessert:\n";
    cin >> dessert;
    cout << "I have some delicious " << dessert;
    cout << " for you, " << name << ".\n";
    return 0; 
}
 

           大家可以想一下,这个程序的运行结果。

           如果你答对了,说明你C++学习的还比较好。o(∩_∩)o...

 

   发表时间:2008-11-04  
超过15个字符系统会崩溃--错误原因下标溢出。
0 请登录后投票
   发表时间:2008-11-04  
缓冲区溢出
崩溃倒不一定
但是很可能会有使客户执行别的函数的权限
很严重的bug
0 请登录后投票
   发表时间:2008-11-04  
我想让大家给出你认为的程序的结果。呵呵。
这个程序还是可以运行的。
根据结果分析一下原因。
0 请登录后投票
   发表时间:2008-11-06  
主要看cin>>怎么实现的..
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics