weixin_43812352 2019-01-15 17:01 采纳率: 0%
浏览 371

请问以下这段C++代码有什么问题?

编译器是 Visual Studio 2010
运行时弹出警示框,提示words变量在未被初始化的情况下被使用。

int main ()
{
    char article[5000];
    char words[500][20];
    char sentences[100][100];
    int countSentences=0;
    int countWords=0;
    char *count;
    char *temp;
    cout<<"请输入需要解析的英语文章:";
    cin.getline(article,5000);
    count=article;
    temp=article;
    for(int i=0;*temp!=' ';temp++,i++)
        words[0][i]=*temp;
    for(;*count;count++)
    {
        if (*count==' ') countWords++;
        else if (*count=='?'||*count=='.'||*count=='!') countSentences++;
    }
    countWords++;
    cout<<"共计 "<<countWords<<" 个英语单词"<<endl;
    cout<<"共计 "<<countSentences<<" 个句子"<<endl;
    cout<<*words[0]<<endl;
}

C++小白,指针的概念这一块始终有点弄不清楚。

  • 写回答

4条回答

  • 浩天的博客 2019-01-15 17:32
    关注

    这里的意思是这样, 把你输入的英文字母, 循环赋值到words数组中
    words是一个二维数组, 第二维是一个一个的字符, 比如输入 abcdefg 那么二维上面存放的是 a 字符 b 字符 c字符 等等
    但是如果访问words的第一维 那么就是一个字符串
    比如 words[0][0] = 'a' words[0][1]= 'b' words[0][2] = 'c'
    那么输出 words[0]表示 abc这个字符串的地址
    *word[0]就会输出 字符串 'abc'
    错误的话你还是吧完整的错误信息发出来我看看

    评论

报告相同问题?

悬赏问题

  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号