当前位置:编程学习 > VC++ >>

vc 内存不能为read 高手看看

#include <stdio.h> int main() { int a[3],n1,n2 ; printf("输入欲排列数:\n") ; scanf("%d %d %d",&a[0],&a[1],&a[2]) ; for(n2=2;n2>=0;n2--) { for(n1=0;n1<n2;n1++) { if(a[n1]<a[n1+1]) { a[3]=a[n1] ; a[n1]=a[n1+1] ; a[n1+1]=a[3] ; } } } printf("\n%d %d %d\n",a[0],a[1],a[2]) ; return 0 ; }
补充:但在 free-c 中 编译 没问题
答案:int a[3],n1,n2 ;
改成int a[4],n1,n2 ;就可以了
你的程序中下标越界了
其他:#include <stdio.h>

int main()
{
	int a[3],n1,n2 ,temp;
	printf("输入欲排列数:\n") ;
	
	scanf("%d %d %d",&a[0],&a[1],&a[2]) ;
	for(n2=2;n2>=0;n2--)
	{
		for(n1=0;n1<n2;n1++)
		{
			if(a[n1]<a[n1+1])
			{
				a[3]=a[n1] ;///////////a[3]???访问越界了吧 ,改为temp= a[n1] ;
				a[n1]=a[n1+1] ;
				a[n1+1]=a[3] ;//这一句改为 a[n1+1]=temp; 
			}

		}
	}

	printf("\n%d %d %d\n",a[0],a[1],a[2]) ;
	return 0 ;
} 你好!电脑出现:【该内存不能为read与written】,原因是比较复杂的,请对症下药!

【答案原创,引用请说明,原作者:力王历史】!偶然出现!点:【确定或取消】,即可!

1。配置错误!【重启,出完电脑品牌后,按F8,安全模式,最后一次正确配置,回车,回车】!
2。系统漏洞!【360安全卫士或金山卫士,或可牛免费杀毒,修复:高危和重要的,其它忽略】!
3。软件冲突!【卸载不常用的软件,保持系统稳定,尤其是同类型的软件,不兼容】!
4。软件版本过旧!【使用:(驱动人生),更新:显卡驱动,声卡驱动!其它软件,覆盖安装】!
5。病毒木马!【杀毒软件,全盘扫描与自定义扫描,完毕后,隔离区,彻底删除】!
6。恶评插件!【可牛免费杀毒,金山卫士,或360安全卫士,清理恶评插件】!
7。可疑启动项!【360系统急救箱,开始急救,文件恢复区,彻底删除文件】!
8。系统文件损坏!【金山急救箱】,扩展扫描,立即扫描,立即处理,重启电脑】!
9。专业工具!【去网上下载一个:read修复工具,修复,试试】!
10。指令修复法!开始菜单,运行 ,输入cmd, 回车,在命令提示符下输入(复制即可) :
for %1 in (%windir%\system32\*.ocx) do regsvr32 /s %1
粘贴,回车,滚动完毕后,再输入:
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
回车!直到屏幕滚动停止为止,重启电脑! 

上一个:在VC++中怎么设动态变量?
下一个:VC创建多文档应用程序+容器

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,