2 qq 17526699 qq_17526699 于 2015.07.20 14:47 提问

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
oyljerry   Ds   Rxr 2015.07.20 21:56

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

oyljerry
oyljerry 回复Cache_use_only: 对,iLength访问的iCount也可能越界
接近 3 年之前 回复
qq_17526699
qq_17526699 可是有时break之后指向iLength[iCount] = iLength[iCount] + 1;语句,是不是iLength越界?
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
myeclipse打开jsp报Unhandled event loop exception No more handles错误
使用myeclipse时, 突然弹出了Unhandled event loop exception No more handles错误, 点击确定后, 接着要关闭workspace. 重启workspace后, 只要一点击jsp文件, 就会接着弹出该错误. 在网上搜索答案, 说更改jsp默认编辑工具, 方法如下: windows -> preferences -> General -> Edi
Eclipse运行报错,提示Unhandled event loop exception No more handles
在写一个小java程序的时候报错,没法编译 更换Eclipse版本均提示相同错误,java环境配置正确。 尝试性关闭广告拦截软件ADSafe,问题不再出现。
【记录】MyEclipse报错Unhandled event loop exception No more handles 问题排查
个人记录
Eclipse报Unhandled event loop exception错误的解决办法
本人Eclipse版本是”eclipse-jee-kepler-SR2-win32-x86_64“        昨天因为换电脑,所以重装了一下软件,装好eclipse之后eclipse是可以使用的(换电脑之前也一直是用这个版本)。后来又装了其他一些软件,为了工作效率,只有边装软件边coding。后来发现再次在Eclipse中编辑Java文件就一直会弹出错误提示框。如图。 点开图下面的
[问题解决]unhandled exception——VC6.0
解决办法:程序文件在频繁的拷贝之后,在运行之前要Rebuil all。 
坑_Unity中导入自建DLL报错:Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in
原文链接 解决办法是使用.net framework 3.5重新编译DLL
Python报错: Unhandled exception in thread started by Error in sys.excepthook
今天要写个简单脚本,模拟同时50个用户往服务器上传东西。 就简单用 thread.start_new_thread(func, ()) 结果运行的时候报错: Unhandled exception in thread started by Error in sys.excepthook: Original exception was: 想了一下,原来是子线程还没退出,主线程就退出了,
Eclipse Unhandled event loop exception No more handles 完美解决办法
Unhandled event loop exception No more handles 解决办法 报错信息如下 对话框标题:Problem Occurred 对话框内容:Unhandled event loop exception No more handles 对话框按钮:第一个超链接:Show Error Log,第二个:OK,第三个:Details>>   点击OK则
关于“Unhandled event loop exception No more handles”的错误修正方式
使用Eclipse开发了一段时间,最近却频繁的出现 “Unhandled event loop exception No more handles”或是“Unhandled event loop exception Item not added”之类的错误, 而且是不断地、不断地跳出,非常的困扰啊。。。 爬文的结果,知道这是JAVA默认Editor的BUG,主要出现在Windows
python错误Unhandled exception in thread started by Error in sys.excepthook
import time import thread def timer(no, interval): cnt = 0 while cnt<10: print 'Thread:(%d) Time:%s/n'%(no, time.ctime()) time.sleep(interval) cnt+=1 thread.exit_thread() def test(): #Use thre