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'
    错误的话你还是吧完整的错误信息发出来我看看

    评论

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名