问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言调试技巧

发布网友 发布时间:2022-04-26 20:09

我来回答

7个回答

热心网友 时间:2022-04-11 23:48

小可根据亲身经历认为,要减少调试时间,首先是要使程序写出来后语法错误少。要做到这些必须形成良好的习惯,一律做到按标准语法格式书写程序,提高程序的通用性来适应不同的编译器。比如用int main()而不是void main();用标准函数system("cls")而不是老式函数clrscr();多用system("pause")而不是getch();在写程序时时刻保持语句的匹配,比如写主函数main()后写了左花括号"{"马上补上右花括号"}",然后再在花括号中添加语句而不是相反,以免最后遗忘了右花括号"}",同理for()语句,while()语句,fopen()语句等的小括号也是如此,先写好左右小括号()再在里面加成分。养成每个语句的结尾都要加上分号;的习惯。再一个重要方面是数据的类型一定要对应,scanf()和printf()函数中变量的输入输出格式要和变量的定义类型一致,函数调用中的形参和实参类型要一一对应,要整型对整型,指针对指针,指针数组对指针数组。等等。
如果养成了好的习惯,写出来的程序语法错误会减少一大半。

再就是程序的设计思路要正确清晰,要不然即使程序没有语法错误,但结果不是需要的。这种情况往往需要很长时间才能找到问题所在。我就有几次这样的经历,程序编译可以通过,说明没有语法错误,但是结果却不对。总结的方法是在程序中适当的地方用输出语句比如printf()把一些变量此刻的值显示出来和理论上的值对照,判断正误。这样就可以不断缩小错误范围,问题会较快解决。小可认为在编写一个程序以前应先认真构思一番找出一种简洁有效的编程算法,然后动手再写,这是避免此类错误的一个好办法。
上面谈了如何从源头上减少错误。具体如何调试排错,下面有详尽介绍(13页之多),小可就不啰嗦了。
http://www.huarw.com/program/C/c02/200511/4882.html

热心网友 时间:2022-04-12 01:06

半年前写过一篇 <VC程序调试技巧>
应该对初学者很有帮助,你可以去看下
那里有图片,这里发不上去

http://tieba.baidu.com/f?kz=416236211

1 VC程序调试技巧
这篇文章是写给一些初学者看的,希望初学者的程序在出现一些小错
误(指运行时的错误)不用再找别人帮忙,可以自己搞定.这里以VC6.0为例,如果你对VC6.0感到厌烦的话,本人不负责.还有,这篇文件是写给初学者看的,里面可以一些写得很废话,但是我觉得这样初学者才可以看懂,如果你是高手,请直接跳过,o(∩_∩)o...

作者:CIW_BLUE 封 2008-6-22 21:46 回复此发言

--------------------------------------------------------------------------------

2 回复:VC程序调试技巧
1.在VC6.0怎么调试程序呢?
首先,把程序(工程)打开,然后在需要调试的地方点击右键,弹出了一个菜单,选择 <Insert/Remove BreakPoint> .这样,就可以下断点(也就是说

等一下调试程序的时候,程序到这里就会停)了. 如果你已经在那边下过断点的话,这时候,这个选项就变成<Remove BreakPoint>, 再点就是删除

断点了.

作者:CIW_BLUE 封 2008-6-22 21:50 回复此发言 删除

热心网友 时间:2022-04-12 02:40

lz很粗心哦
if语句的括号全掉了
帮你改过来了
如果我的回答让你满意
记得点满意答案哦
#include<stdio.h>
void
fun(int
x)
{
if
(x>100
||
x<0)
printf("无效成绩");
else
if
(x>=90)
printf("优");
else
if
(x>=80)
printf("良");
else
if
(x>=70)
printf("中");
else
if
(x>=60)
printf("及格");
else
printf("不及格");
}
void
main()
{
int
a;
printf("请输入学生成绩:");
scanf("%d",&a);
fun(a);
}

热心网友 时间:2022-04-12 04:32

F9碰上循环的话会很麻烦很痛苦~~
我有一个通用的调试方法,就是在程序不同行中添加cout<<"Course n"<<endl;
在C里面应该写成printf("Course n\n"); 吧,适当运用PauseBreak中断,这样就可以让程序在你的可见范围内运行了.
还是那句话,百练百练,百题不厌~~~
推荐两个Website吧:
http://poj.grids.cn/
http://acm.pku.e.cn/JudgeOnline/
祝你在编程路上有所成就!

热心网友 时间:2022-04-12 06:40

我初学C的时候,调试就用眼睛看的,没有用debug,也没觉得有多难。

后来程序大了,用了debug,确实容易,但是对于初学者的程序来说,用眼睛看比什么都快。

个人经验

热心网友 时间:2022-04-12 09:04

我当时只是为了拿个二级证,你是专业的吗? 当时就把它当数学学的,牢记重要语句,正确理解命题,再说我们只是填一个程序的重要部分,对细节不太关注
在就是多做题,我有一个月每天坚持做题1小时。搞定 哈哈

热心网友 时间:2022-04-12 11:46

按F10用逐句调试,很有用的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 c语言编号程序之后怎么开始调试 请问下,用CAD画一个圆分成24分怎样画? C语言,如何调试程序,地址要怎么看?筛法求素数 CAD怎么把一个圆形平分60等份 然后用线段连接起来 · 对C语言进行调试的最好方法是什么? C语言 调试程序 C语言怎么调试程序 如何煮出香甜美味的汤圆? 美甲朱红色配什么颜色 阅读朝花夕拾《狗·猫·鼠》《阿长与山海经》读后感 2013最新法式新娘美甲是什么样的呢? 阿长与山海经的读书心得 美甲图片2016夏新款式 急求《朝花夕拾》中十篇文章的读后感,每篇100字左右!100字!如果能更少... 我学了《阿长与山海经》学会了什么?100字以内50字以外 不容易被发现的美甲颜色 阿长与山海经的读书笔记怎么写 阿长与山海经 读书体会 阿长与山海经读后感150 《阿长与山海经》读书心得 如何使用VisualStudio2013编写和调试c语言程序 祝小公主两岁生日快乐,健康快乐,无忧无虑的成长翻成英文怎么说 Y 女友过生日名叫王小英 想送她首藏头诗『小英生日快乐』 求解! 很急啊! 翻译happy birthday to my little princess! mom and 小公主生日祝福语 祝公主生日快乐的祝福语 祝福小公主生日快乐怎么说 8岁小公主生日祝福语 9岁小公主的生日祝福语有哪些? 10岁小公主生日祝福语 春天适合去哪里春游? 春天适合去哪里春游啊? 哪里春游比较好.求推荐 用VBA如何实现在PPT的幻灯片上制作功能键 看别人cf用*打人的时候有一个瞄准的不是狙击准心看着很带劲是怎么设置的 求大神 春游去哪好 哪里春游比较好啊 春游去哪里 30万利息0.02%等于多少 西洋参含片好还是切片好