调试C语言时,如何查看内存?

我用的是DEV-C++。刚开始学C语言没几天,也不会调试程序。每次编了个小程序后就编译,然后运行到光标。再看运行后输出的窗口。最近碰到个问题,怎么也理解不了。请教别人后,... 我用的是DEV-C++。刚开始学C语言没几天,也不会调试程序。每次编了个小程序后就编译,然后运行到光标。再看运行后输出的窗口。最近碰到个问题,怎么也理解不了。请教别人后,说是数组超过边界,要是懂得调试和查看内存就好理解了。
程序是这样的:
例程:
#include<stdio.h>
int main()
{
char a[3];
char b[4];
scanf("%s",a);
scanf(" %s",b);
printf("%c\n%c\n%c\n%c\n%c\n%c\n%c\n",a[0],a[1],a[2],b[0],b[1],b[2],b[3]);
printf("%s\n%s\n",a,b);
return 0;
}
输入的字符串和设定的一样4个+3个。编译运行后,第一个字符无输出。但是如果我设定数组元素长度a比b少或者一样时,就算输入的字符串和设定的一样,显示也不会出错。 既然数组规定了有4个元素,为什么只能比规定的少,不然就会出错呢???
上面程序写反了,应该是:char a[4];
char b[3];
下面的第一个printf也改一下:
printf("%c\n%c\n%c\n%c\n%c\n%c\n%c\n",a[0],a[1],a[2],a[3],b[0],b[1],b[2]);
展开
 我来答
百度网友fa066cb
2011-09-06 · TA获得超过327个赞
知道小有建树答主
回答量:243
采纳率:0%
帮助的人:203万
展开全部
先学单步调试吧,单步执行很简单,编译后鼠标点在你在你要设置断点的地方,然后按快捷键F9,再按F5进入debug模式,然后按F10就是单步调试,没按一次F10程序就向下走一步
追问
怎么我照着做,看不出效果呢?每次一按F10就全部运行完了。
追答
VC 单步调试
  在VC++6.0中的单步调试:
  调试重要的几个键:
  F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点.
  F5调试状态运行程序,程序执行到有断点的地方会停下来.
  F10单步执行程序.
  CTRL+F10运行到光标所在行.
  F11和F10的区别是,如果当前执行语句是函数调用,则会进入函数里面.
  SHIFT+F11跳出当前所在函数.
  步骤:
  1,保存为c或c++文件
  2,根据断点调试找到错误处。
  3,采用F10或F11单步调试找到精确的错误处。其中f10是跳过函数调用,f11是进入函数体调试。一般是先用f10,确定函数输入输出是否正确(与自己想的一样),如不一样,则用f11进入函数体一步一步调试。
  4,在调试过程中,肯定得监视程序中的变量。在vc6.0的右下角有一个watch窗口,专门用来设置监视变量。具体怎样设置自己体会吧。在调试过程中,鼠标轻轻放在变量上也会显示该变量的值
  5,vc6.0专门为调试设置了工具箱以方便调试的进行,打开的方法如下。右键——〉在debug(或调试)选择项的勾勾上。
小妖_875458744
2011-09-06
知道答主
回答量:32
采纳率:0%
帮助的人:18.5万
展开全部
注意在字符串中是以'\0'作为字符串的结束标志 比如字符串"china" 它占内存单元不是五个字符 而是6个字符 最后一个字符为'\0' c h i n a \0
追问
那怎么查看计算机内存中数据的变化呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浅斟低chang
2011-09-09 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:99.5万
展开全部
调试的时候有很多数据显示相关信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乱世川空
2011-09-10 · 超过17用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:31.4万
展开全部
单步调试,会显示你的变量地址及值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式