【C语言】-- 死循环了怎么办?

这篇具有很好参考价值的文章主要介绍了【C语言】-- 死循环了怎么办?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

#include <stdio.h>
int main()
{
    int i = 0;
    int arr[] = {1,2,3,4,5,6,7,8,9,10};
    for(i=0; i<=12; i++)
    {
        arr[i] = 0;
        printf("hello\n");
    }
    return 0;
}

阅读上面这个代码,我们会认为这不就是简单的数组访问越界么。那么这段代码就应该会报错,接下来我用VS进行运行,看结果真是这样吗?

VS 32位

【C语言】-- 死循环了怎么办?,c语言,c++

VS 64位

【C语言】-- 死循环了怎么办?,c语言,c++

 文章来源地址https://www.toymoban.com/news/detail-551592.html

 由上面可知,这段代码在VS上不同位操作系统的结果是不一样的,并不都会报错。原因是这与地址在内存中是如何开辟的有关。

32位内存开辟是由高地址向低地址的,由于 int i = 0 先于 数组arr 创建,故变量i的地址是高于数组arr的地址的。又由于一个数组其内部又是从低地址到高地址存储的。故数组内越往后存储,其地址就越高。此代码的a[12]恰巧指向i的地址,使i又被变为0,因此一直死循环。

64位内存开辟都是低地址向高地址的,所以会发生数组越界。

【C语言】-- 死循环了怎么办?,c语言,c++

【C语言】-- 死循环了怎么办?,c语言,c++

下面是VS中调试查看内存的步骤,能熟练调试,对于一些代码问题是非常有帮助的。因此代码遇到问题不要慌,先调试看看。

【C语言】-- 死循环了怎么办?,c语言,c++

 

到了这里,关于【C语言】-- 死循环了怎么办?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Github官网进不去怎么办?Github无法访问怎么办?

    打开hosts文件,可能需要管理员权限。 win10 hosts位置:C:WindowsSystem32driversetc 在末尾新建一行,添加如下内容: 访问 http://tool.chinaz.com/dns/ ,在输入框中填写 github.com,然后点击检测按钮,会列出响应ip,如图: 选最小TTL值的IP 在hosts文件结尾输入: 执行 ipconfig /flushdns 刷新

    2024年02月10日
    浏览(52)
  • 手机照片误删怎么办,电脑照片误删怎么办怎么才能找回,EasyRecovery来帮您

    手机照片误删怎么办,电脑照片误删怎么办怎么才能找回,EasyRecovery 2023来帮您!!! EasyRecovery 2023是一款操作安全、价格便宜、用户自主操作的 数据恢复 方案,它支持从各种各样的 存储介质 恢复删除 或者丢失的文件,其支持的媒体介质包括: 硬盘驱动器 、光驱、闪存、

    2024年02月12日
    浏览(58)
  • 计算机中丢失msvcr120.dll怎么办,电脑找不到msvcr120.dll怎么办

    电脑提示msvcr120.dll丢失是一个常见的问题,这个问题通常会在你尝试打开某些程序或游戏时出现。这个问题的原因是因为你的电脑缺少了一个名为msvcr120.dll的文件,这个文件是微软Visual C++ Redistrle for Visualv 2013的一部分。如果你遇到了这个问题,不要担心,下面是三种解决方法

    2024年02月13日
    浏览(59)
  • 电脑突然死机怎么办?

    死机是电脑常见的故障问题,尤其是对于老式电脑来说,一言不合电脑画面就静止了,最后只能强制关机重启。那么你一定想知道是什么原因造成的吧,一般散热不良最容易让电脑死机,还有系统故障,比如不小心误删了系统运作的必要文件。那么面对电脑突然死机我们用什

    2024年04月10日
    浏览(57)
  • 鼠标滚轮失灵怎么办?

    鼠标是非常重要的一个外设,我们经常需要使用鼠标的滚轮来上下滚动浏览网页中的内容,非常方便。但是最近有用户发现自己的鼠标上下滚轮出现问题,操作不灵敏,这该怎么办? 针对windows电脑 1、 同时按住Win+R键,打开运行,输入regedit,回车进入注册表编辑器; 2、 展

    2024年02月11日
    浏览(44)
  • 怎么测试网络延迟,网络延迟过大怎么办?

    在各式各样的数据在网络介质中通过网络协议(如TCP/IP)进行传输,如果信息量过大不加以限制,超额的网络流量就会导致设备反映缓慢,造成网络延迟。 定义:在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。 单位:毫秒(MS) 如何定义网

    2024年02月05日
    浏览(53)
  • win11取消开机密码pin无法删除怎么办 win11关闭开机密码pin选项灰色怎么办

    很多用户设置默认的开机密码pin,但是由于感觉太麻烦了,想要关闭该功能。结果发现选项变成了灰色,无法直接删除。那么win11关闭开机密码pin选项灰色该怎么办呢?今天小编就给大家具体的解决方法,有需要的用户们赶紧来看一下吧。 具体步骤如下: 1.右键开始菜单 。

    2024年02月16日
    浏览(49)
  • 全面解析:路由器设置192.168.1.1打不开怎么办?不知道192.168.1.1密码怎么办?

    我们在设置路由器时要进入192.168.1.1进行设置。可是,如果悲催的进不了192.168.1.1该怎么办呢?亦或是不知道登录192.168.1.1密码,该如何设置路由器?不用担心,本文将全面向大家解析这类问题,有需要的朋友快点来收藏吧! 192.168.1.1 192.168.1.1密码 192.168.1.1打不开 192.168.1.1设置

    2024年02月06日
    浏览(51)
  • 【C4D】基础快捷键操作,布尔操作,全选单个图形——动不了怎么办+选不上怎么办+怎么移动+怎么拉平面或拉平一圈线

    说惯谎言的人,最清楚不过承诺的脆弱,大多数时候,人们并非刻意说谎,他们只是对自己说出的话没有真正深入的了解——《死人经》       ;\\\\; C4D——选不上是因为没有C掉 、 内部挤压等于嵌入          ;\\\\;\\\\; ctrl+拖动面 可以拖出一个立体出来,比 挤压d

    2024年02月03日
    浏览(137)
  • 电脑忘记密码了怎么办

    众所周知,电脑忘记密码是一个十分头疼的问题。想重装吧,里边又有资料,又得少活几年。 所以为了拯救血压,小编特地编了此文,希望能喜欢!(仅适用于Win7) 点击右下角按钮的倒三角,然后点“重新启动”。  在重启后的加载画面(也就是“正在启动Windows”及四叶草

    2024年02月09日
    浏览(77)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包