CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

初级C++问题.

楼主wdy0725()2006-06-03 21:16:52 在 C/C++ / C++ 语言 提问

1.某语句:  
  string   word;  
  while(cin>>word){  
          ...  
  }  
  请问这个循环为什么在VC6.0下不能停,不论是输入或不输入都不停,我只好在While里又加了其它条件.  
   
  2.关于main(int   argv,char   *argc[])  
  请问为什么有好多程序将第二个参数写成**argc[]呢?*argc[]就是指针数组,何必再定义一下指针呢? 问题点数:20、回复次数:19Top

1 楼chenhu_doc(^0^纯一狼^0^ 看书看到大笑,直到不能自已)回复于 2006-06-03 21:30:13 得分 1

#include   <iostream>  
    using   namespace   std;  
   
    int   main()  
    {  
        std::cout   <<   "Enter   a   number,   or   -1   to   quit:   ";  
        int   i   =   0;  
        while   (std::cin   >>   i)   {         //   良好的形式  
            if   (i   ==   -1)   break;  
            std::cout   <<   "You   entered   "   <<   i   <<   '\n';  
        }  
        return   0;  
    }    
  //这样的结果就是当你敲击end-of-file(任意的非数字字符),或键入一个非整数,或键入   -1   时,   while   循环会退出。  
  Top

2 楼zzstephen(渣渣)回复于 2006-06-04 00:06:27 得分 5

1   cin   >>   word   总是返回一个istream对象,while(cin   >>   word)   括号里面的非空当然是死循环。  
  2   确定是   char**   argc[]   而不是   char**   argc   吗?  
  Top

3 楼rollor_phoe(柔枫)回复于 2006-06-04 00:22:47 得分 0

你两次回车的话就退出循环了。Top

4 楼luvybird()回复于 2006-06-04 00:54:40 得分 0

while(cin   >>   word)       //在读到文件尾的时候会结束循环Top

5 楼MagicCarmack(MagiC++)回复于 2006-06-04 13:04:58 得分 4

第一个问题按 Ctrl+Break搞定  
   
  第二个问题确定你没有看错么?Top

6 楼yhmhappy2006(Nathan)回复于 2006-06-04 13:29:36 得分 4

第一个问题按 Ctrl+Z(windows),   Ctrl+D(Linux)  
   
  第二个问题确定你没有看错么?  
  Top

7 楼wdy0725()回复于 2006-06-04 22:55:27 得分 0

sorry.第二个问题果然是我看错了,浪费各位的时间了.  
  应该是:main(int   argv,char   **argc)  
   
  回rollor_phoe(柔枫)   :  
  几次回车也不行.  
   
  回MagicCarmack(MagiC++)   &   yhmhappy2006(Nathan)   :  
  如果强行退出就失去意义了.  
   
   
  Top

8 楼yhmhappy2006(Nathan)回复于 2006-06-05 01:42:24 得分 0

并非强行退出啊,这本来就是一种处理方法,而且只能这样  
  另外,如果下面还要用到cin的话,必须先cin.clear();一下Top

9 楼MagicCarmack(MagiC++)回复于 2006-06-05 11:03:43 得分 0

你不要认为按Ctrl+....就是强退  
   
  这是cin的设计  
  你翻翻C++   Primer前面那章,就是这么讲的Top

10 楼wdy0725()回复于 2006-06-05 22:49:11 得分 0

windows下退出是ctrl+c不是ctrl+z,ctrl+break也可以,那请问有什么区别吗?  
  还有第一个问题那位高手帮忙解决一下.Top

11 楼jxfengzi(子丰)回复于 2006-06-06 07:16:57 得分 3

main(int   argv,char   *argc[])  
   
  *argc[]   可以写成   **argc  
   
  在作为函数参数时,指针=   数组  
   
  例如:  
  f(char   *p);  
  f(char   p[]);  
   
  是一样的,  
   
  所以*argc[]   可以写成   **argc,详情请参阅:《C专家编程》Top

12 楼chenzhendong(chenzhendong)回复于 2006-06-06 08:29:27 得分 0

这样写  
     
  while(!kbiht())   {  
            .......  
  }Top

13 楼wdy0725()回复于 2006-06-06 23:08:11 得分 0

楼上能不能解释一下kbiht()是什么函数?Top

14 楼yhmhappy2006(Nathan)回复于 2006-06-08 11:13:19 得分 0

windows下退出是ctrl+c不是ctrl+z  
  ------------------  
  ????????????  
  奇了怪了,退出是ctrl+c都来了  
  老大,那是复制好不好,你当我们是什么啊?Top

15 楼wanderfox()回复于 2006-06-08 13:45:46 得分 0

奇了怪了,退出是ctrl+c都来了  
  老大,那是复制好不好,你当我们是什么啊?  
   
  寒~~~Top

16 楼fuheli()回复于 2006-06-08 14:58:38 得分 2

while(cin   >>   word)       //在读到文件尾的时候会结束循环  
  那么C++是如何判断是文件尾.  
  因为按照你说的:这样的结果就是当你敲击end-of-file(任意的非数字字符),或键入一个非整数,或键入   -1   时,   while   循环会退出。在visual   c++下不行.  
  Top

17 楼freshui(五月的风 - 唉 真饼啊! 多学习,少灌水打游戏)回复于 2006-06-08 15:13:01 得分 1

奇了怪了,退出是ctrl+c都来了  
  老大,那是复制好不好,你当我们是什么啊?  
   
  ctrl+c是退出   复制是ctrl+insTop

18 楼lddLinan(不再五行中)回复于 2006-06-08 20:37:06 得分 0

赫赫,打CS的时候为什么不这样想:老按着W键,为什么屏幕上为什么没有一个“w”  
   
  不同的程序对相同的按键有不同的响应Top

19 楼yhmhappy2006(Nathan)回复于 2006-06-09 13:14:41 得分 0

参考:  
  C++   Primer   中文版   第四版   P16Top

相关问题

关键词

得分解答快速导航

  • 帖主:wdy0725
  • chenhu_doc
  • zzstephen
  • MagicCarmack
  • yhmhappy2006
  • jxfengzi
  • fuheli
  • freshui

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo