浏览 1869 次
锁定老帖子 主题:解决那个让高级C++程序员都会出错的问题。
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-04
上次给大家说了一个题目,呵呵。没有给出大家解决的问题。 现在给出大家解决方法。
// 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; }
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-11-04
关键是cin不会做长度越界判断,这个和scanf类似,
|
|
返回顶楼 | |
发表时间:2008-11-04
呵呵
您说的很对。 |
|
返回顶楼 | |