Cache_use_only 2015-07-20 06:47 采纳率: 0%
浏览 3452

Unhandled Exception 弹出窗口报错

《C程序设计语言》 练习1-13:编写一个程序,打印输入中单词长度的直方图。水平方向的直方图比较容易绘制,垂直方向的直方图则要困难一些。
本人源代码,编译通过(无Warning):
#include

void main()
{
    printf("Input, End with \"Enter then Ctrl + Z\"\n");

    char    cRecieve;
    static char cSave[100];
    int iNum, iCount = 0,iLength[20];

//-----------储存输入字符至cSave---------
    for (iNum = 0; (cRecieve = getchar()) != EOF; iNum++)
    {
        cSave[iNum] = cRecieve;
    }

    for (int i = 0; i < iNum; i++)
    {
        while(true)     
        {
            if (cSave[i] == ' '||cSave[i] == '\t'||cSave[i] == '\n')
            {
                i++;    //跳过空格
            }
            else
            {
                while (true)
                {
                    iCount++;   //数单词长度用
                    i++;        

                    if (cSave[i] == ' ' || cSave[i] == '\t' || cSave[i] == '\n')    //遇空格结束数字数动作
                    {
                        iLength[iCount] = iLength[iCount] + 1;      //对应长度的总数加一
                        break;
                    }
                }
            }
        }
    }

//-----------打印直方图------------------
    printf("\n\t------Histogram-------\n");
    for (int iTemp = 0;iTemp == 20; iTemp++)
    {
        if (iLength[iTemp] != 0)    //若无单词长度为iLength[iTemp]则跳到下一个
        {
            printf("%3d:", iLength[iTemp]);
            for (int i = 0; i < iLength[iTemp]; i++)
            {
                printf("*");        //横向打印直方图
            }
        }
    }
}

运行时:
图片说明
(^Z模拟EOF,测试有效)然后再按回车,弹出报错窗口:
图片说明
选择Continue会再次弹出,选择Break发现在这条语句处断开:
图片说明

请问这个错误的原因是什么?该如何修改代码?十分感谢~

  • 写回答

1条回答 默认 最新

  • oyljerry 2015-07-20 13:56
    关注

    cSave访问索引i是不是数组越界了。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog