`
ay_guobo
  • 浏览: 116021 次
  • 性别: Icon_minigender_1
  • 来自: 札幌
社区版块
存档分类
最新评论

解决那个让高级C++程序员都会出错的问题。

    博客分类:
  • C++
阅读更多

      上次给大家说了一个题目,呵呵。没有给出大家解决的问题。

      现在给出大家解决方法。

     

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

    cout << "Enter your name:\n";
    cin.getline(name, ArSize);  // reads through newline
    cout << "Enter your favorite dessert:\n";
    cin.getline(dessert, ArSize);
    cout << "I have some delicious " << dessert;
    cout << " for you, " << name << ".\n";
    return 0; 
}

 

     大家可以看看输出结果。

     对比一下上次的代码的输出结果。

  

// 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; 
}

 

1
0
分享到:
评论
2 楼 ay_guobo 2008-11-04  
呵呵
您说的很对。
1 楼 fuliang 2008-11-04  
关键是cin不会做长度越界判断,这个和scanf类似,

相关推荐

    如何成为程序员如何成为一名C++程序员(看完深受启发)

    ### 如何成为程序员:成为一名C++程序员的详细指南 在当今快速发展的信息技术领域,成为一名出色的C++程序员不仅意味着掌握一门编程语言,更是一项能够开启众多职业机会的关键技能。本篇文章将深入探讨如何从零基础...

    wxh C++程序员经常问的问题.rar

    在C++编程领域,开发者经常会遇到一系列挑战性的问题。...掌握这些知识点,C++程序员不仅能更有效地解决日常开发中的问题,还能编写出高效、可维护的代码。不断地学习和实践是成为优秀C++程序员的关键。

    C_C++程序员查询辞典 (第二版)

    《C_C++程序员查询辞典(第二版)》是一本为C和C++程序员精心编纂的参考手册,旨在...《C_C++程序员查询辞典(第二版)》是C/C++开发者的必备参考资料,它将帮助你构建坚实的编程基础,解决实际项目中遇到的各种问题。

    名企招聘c++程序员笔试题

    从给定的文件信息中,我们...以上知识点不仅涵盖了C++编程的基础和进阶内容,还深入到了数据结构、内存管理、面向对象编程以及系统编程的多个层面,对于准备应聘C++程序员岗位的求职者来说,这些都是必备的核心技能。

    C++编程惯用法.高级程序员常用方法和技巧

    以上只是C++高级编程的一部分知识点,深入学习并实践这些方法和技巧,将使你成为一名更为出色的C++程序员。通过阅读“C++编程惯用法.高级程序员常用方法和技巧.pdf”这份文档,你将能系统地学习和巩固这些概念,...

    名企招聘C++程序员笔试题

    C++是一种强大的面向对象编程语言,它提供了许多高级特性,如引用。引用是C++中的一个重要概念,它在编程中扮演着独特的角色。本篇将深入解析C++中引用的相关知识点,包括引用的定义、使用注意事项、引用作为函数...

    c++试题(包括考试题、面试题、等级考试题)

    在面试中,除了技术知识,还需要展示清晰的思路、良好的沟通能力和问题解决能力。准备自我介绍,理解项目经验并能准确表述,以及熟悉常见的面试题型(如设计模式、数据结构与算法、系统设计等)都是面试成功的关键。...

    c++ 高级编程(C++ Advanced Programming)

    3. **异常处理(Exception Handling)**:C++的异常处理机制允许程序员在代码中显式地声明可能出错的地方,并在运行时捕获和处理这些错误,增强了程序的健壮性。 4. **命名空间(Namespace)**:命名空间用于组织代码,...

    C++高级编程Professional C++ 第二版

    《C++高级编程Professional C++ 第二版》是一本全面涵盖了C++11标准的权威书籍,它旨在帮助初学者过渡到专业的C++程序员。该书由三位作者共同完成:Marc Gregoire、Nicholas A. Solter和Scott J. Kleper。他们分别...

    像计算机科学家一样思考c++

    总的来说,《像计算机科学家一样思考C++》这本书会引导读者从基础到高级,逐步掌握C++语言及其背后的计算机科学原理,培养出解决问题的系统思维和创新意识,从而成为一名合格的C++程序员。通过阅读和实践书中的例子...

    Advanced C++ (中文版)

    理解如何利用多态来设计接口,以及运行时类型识别(RTTI)的概念,是成为高级C++程序员的关键。 5. **设计模式**: 设计模式是解决常见软件设计问题的经验总结,例如单例模式、工厂模式、观察者模式等。熟悉这些模式...

    清华大学的C++教程ppt格式

    《清华大学C++教程》是一份全面且深入的编程学习资源,专为初学者及有一定基础的程序员设计...通过这份教程的学习,你不仅可以理解C++的基本概念,还能学会如何利用C++的特性来解决实际问题,成为一名熟练的C++程序员。

    c++转C#工具

    标题中的"C++转C#工具"指的是一个软件应用程序,它能帮助程序员将源代码从C++语言转换为C#语言。这种工具通常用于在已经拥有大量C++代码库的情况下,想要利用C#语言的优势,或者将项目迁移到.NET框架的情况。 C++是...

    最全C++程序集

    10. **设计模式**: C++程序员经常使用设计模式来解决常见的编程问题。程序集可能涵盖了一些常见的设计模式,如工厂模式、单例模式、观察者模式等。 通过这个"最全C++程序集",学习者不仅可以理解C++的基础知识,还...

    A Tour of C++ 2nd

    《C++之旅 2nd Edition》是一本深入探讨C++编程语言的权威指南,由Bjarne Stroustrup,C++的创始人亲自撰写。...配合书中的实际示例和练习,读者将能够更好地理解和应用C++的各种特性,成为一名熟练的C++程序员。

    前辈的c++50个建议

    根据给定的信息,“前辈的C++50个建议”提供了关于如何有效学习和掌握C++语言的指导思想和实用建议。下面将详细解释这些建议,并深入探讨它们背后的原理和重要性...遵循这些建议,将有助于你成为一名优秀的C++程序员。

    c++常见错误集锦

    本资源包"**c++常见错误集锦**"提供了丰富的错误案例和解决策略,帮助初学者和经验丰富的程序员识别并修复这些常见问题。 首先,**c++常见错误小集.doc**可能涵盖了一些基础的C++编程错误,如拼写错误、未声明的...

    C++编程思想第2版(上下卷)中文版

    命名空间则帮助解决大项目中可能出现的符号冲突问题,使代码组织更有序。 六、C++标准库 除了STL,C++标准库还包括输入/输出流、字符串、智能指针、内存管理等组件。卷二会详细介绍这些内容,帮助读者更好地利用C++...

    C++Primer中文第五版

    此外,它还深入讲解了STL(Standard Template Library),包括容器(如vector、list、set)、迭代器、算法和函数对象,这些工具极大地提高了C++程序员的效率。 函数模板和泛型编程是C++的一个强大特性,本书对此...

Global site tag (gtag.js) - Google Analytics