原因是c++程序内部运行出错,导致内存读取错误。
解决方法:
(1)在控制面板中卸载AMD Catalyst Install Manager,注意在卸载时选择“卸载所有组件”并在卸载完成后重启计算机。
(2)重新安装AMD显卡驱动,在安装过程中选择“自定义安装”。接下来在组件选择窗口中去掉“Accelerated Video Transcoding ”(如下图),安装完成后重启计算机即可恢复正常。
楼主对字符串数组的初始化不是很理解哦~
使用方式a[]="XXX"初始化数组时,其实已经为数组分配了确定的大小,楼主的代码
a[]={0}执行过后,数组就已经默认只有一个字节了,因此,输入数据太多时就会造成内存溢出。当然,由于操作系统内存对齐的缘故,对32位机是以4个字节为内存单元的,也就是说,虽然只给a分配了1个字节,其实后面的3个空闲字节也是可以用的,楼主可以试一下,当输入的字符小于等于4个时,是不会报错的;一旦多于5个就会出现图中所示的情况啦~
exe是可执行文件的后缀,表示这个应用出错,停止运行了。
1主要是写的代码有问题
2但是不是编译错误
3也不是连接错误
4是逻辑错误
5 内存的访问出错了
这个问题主要是内存溢出了,操作系统不让你使用没有非配的内存。
程序崩溃。