| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1037 人关注过本帖
标题:一个有趣的问题。
只看楼主 加入收藏
棉雨
Rank: 5Rank: 5
等 级:职业侠客
帖 子:174
专家分:368
注 册:2011-4-22
结帖率:78.26%
收藏
已结贴  问题点数:5 回复次数:13 
一个有趣的问题。
这个程序的运行环境是vc++6.0
#include<iostream.h>
#include"string"
int main()
{     
    char str[100],*p;
    int i,count=0;
    p=str;
    cout<<"请输入一个句子:";  /*这么写,跟这么写:cout<<"\n请输入一个句子:";运行的时候,显示不出来这一句话,要是cout<<"请输入一个句子:"<<endl;跟这么写:cout<<"\n请输入一句话:"<<endl;那就可以显示。大家可以试试。  
    gets(p);   
    while(*p!='\0')   
    {        
        if(*p==' ')
        {            
            p++;            
            continue;
        }
        else
        {
            count++;
            i=0;
            while(*(p+i)!=' '&&*(p+i)!='\0')
                i++;
            p+=i;
        }   
    }   
    cout<<"这个句子有"<<count<<"个词";
    return 0;
}
搜索更多相关主题的帖子: 运行环境 
2011-05-09 23:56
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:1 
怎么个有趣法?我觉得无趣

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2011-05-10 09:50
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:1 
错误很多,基础太差

这个程序的运行环境是vc++6.0 // VC++6.0连CPP98都支持不好,何况CPP2003,你就不该用VC98来写C++代码
#include<iostream.h> // C++中没有<iostream.h>,只有 <iostream>
#include"string" // C/C++标准从来没说过可以这么写,少听那些一知半解的家伙瞎扯,唯一正确写法只有 #include <string>

1. 你不该混用 C++的cout 和 C的gets
2. 如果你想混用,你得知道它们的机制,前者是带缓冲的。因此你得写成 cout<<"请输入一个句子:"<<flush;
   flush的作用自己去查;end相当于 <<'\n'<<flush;
3. tie函数用于使得两个"流"同步

#include <iostream>
#include <string>
#include <sstream>

int main()
{
    using namespace std;

    cin.tie( &cout ); // 这一句可以省略,因为缺省情况下,cin和cout是系住的。如果是其他流,类似的这一句必不可少

    cout << "Please enter a sentence:";
    string line;
    getline( cin, line );

    istringstream is( line );
    for( string word; is>>word; )
    {
        cout << word << '\n';
    }
    cout << endl;

    return 0;
}
2011-05-10 14:49
棉雨
Rank: 5Rank: 5
等 级:职业侠客
帖 子:174
专家分:368
注 册:2011-4-22
收藏
得分:0 
回复 3楼 rjsp
只有说佩服二字了,谢谢你
2011-05-10 15:44
shiyuedef
Rank: 2
等 级:论坛游民
帖 子:19
专家分:29
注 册:2010-10-29
收藏
得分:1 
C++里面写<iostream.h>没有错的把
2011-05-10 22:21
肖付
Rank: 2
等 级:论坛游民
帖 子:53
专家分:24
注 册:2010-9-11
收藏
得分:1 
回复 5楼 shiyuedef
我也觉得是有的吧,可以直接用的.
2011-05-10 23:02
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:1 
看下标准 和传统 之间的差别吧
2011-05-11 09:56
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:1 
不要再用老的如<iostream.h>这样的头文件了,C++新标准里是没有.h之说。
#include <iostream>
#include <string> //字符串
#include <map>    //映射
#include <vector> //向量表
#include <stack>  //栈
#include <list>   //链表
。。。。。。。。
你如果还想用老的C库函数,可以用C前辍
#include <cstdio>//原stdio.h
#include <cmath>//原math.h
#include <cstdlib>//原stdlib.h

我们都在路上。。。。。
2011-05-11 10:59
donggegege
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:125
专家分:368
注 册:2011-5-1
收藏
得分:1 
,C++新标准里是没有.h
#include <iostream>
#include <string> //字符串
#include <map>    //映射
#include <vector> //向量表
#include <stack>  //栈
#include <list>   //链表
。。。。。。。。
不过使用的时候必须加上名字空间:using namespace std;
2011-05-11 12:46
Demon_JIE
Rank: 2
来 自:成都 西华大学
等 级:论坛游民
帖 子:26
专家分:39
注 册:2011-4-27
收藏
得分:1 
现在都是用的using namespace std;
2011-05-11 20:31
快速回复:一个有趣的问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020457 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved