当前位置:首页 » 编程语言 » C语言调试的时候等一下
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

C语言调试的时候等一下

发布时间: 2022-05-06 19:34:31

c语言调试技巧

小可根据亲身经历认为,要减少调试时间,首先是要使程序写出来后语法错误少。要做到这些必须形成良好的习惯,一律做到按标准语法格式书写程序,提高程序的通用性来适应不同的编译器。比如用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

⑵ C语言调试步骤

一、在keil中调试c语言程序

1、打开我们的程序,点击菜单栏右侧的start/stopdebug..按钮,进入调试模式,如下图。

⑶ C语言调试程序时出现这种情况怎么办

看控制台的提示就知道了,成功0个,失败1个,指的是编译出错,没生成exe文件。看看是不是你的min()函数最后少写了一句return 0;导致的。

更多C语言教程

⑷ c语言调试的问题

我的理解不知道对不对,是不是调试的时候程序运行到scanf就停止了,你不知道如何输入内容?如果是这样的话,调试的时候也会有DOS窗口,激活那个窗口,就像平时一样输入数字按回车,就可以了,程序会就会继续向下运行。
如果是DOS窗口都不能输入的话,还有两个方法,但是这两个方法都有一个问题就是必须确保scanf那句话是正确的。第一个直接赋值,直接把scanf那句话改为赋值语句,多测试几次不同的数值,检查出来的结果是一样的。第二个方法,编译器应该有变量赋值的功能(至少最近几年的会有),这样你直接选择那个变量输入你想要的数值就行了(具体操作不详述,不同编译器操作不同)。
以上应该能帮到你吧。

⑸ C语言调试时

这是因为,这是你的代码调用了系统的dll中的代码,而被调用的代码不是debug版本,所以没有包函调试信息在里面。调试器试图读取这些代码的调试信息时就只好报告没找到了。
在debug时,在调用程序用到的每个dll时会检查它是否包括调试信息。如果包括调试信息,在调试时可以利用,就可以单步跟踪进去,某些系统dll是不包括调试信息的,所以会提示找不到匹配的符号信息,并不是说程序有什么错误。

⑹ c语言 调试的时候

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int a,b,c;
char flag;
srand(NULL);
do
{
a=rand()%101;
b=rand()%101;
printf("%d+%d=?",a,b);
scanf("%d",&c);
if(c==a+b)
printf("good!\n");
else
printf("error!\t\t%d+%d=%d",a,b,a+b);
printf("\n\t\tcontinute? | Y(yes)\\N(no)\n");
scanf("\n%c",&flag);
if(flag=='Y'||flag=='y')
flag=0;
else flag=1;
}
while(!flag);
}
试一下,可以的
就希望给点分^_^

⑺ c语言的调试

1.首先看编译能否通过,即看编译输出的内容,有语法错误要修改直到编译通过:

===============================================比如:

1>------已启动生成:项目:cio,配置:DebugWin32------

1>生成启动时间为2010/11/2223:02:51。

1>InitializeBuildStatus:

1>正在创建“Debugcio.unsuccessfulbuild”,因为已指定“AlwaysCreate”。

1>ClCompile:

1>test.cpp

1>c:usersadministratordesktop est.cpp(6):warningC4018:“<”:有符号/无符号不匹配

1>c:usersadministratordesktop est.cpp(26):errorC2143:语法错误:缺少“;”(在“}”的前面)

1>

1>生成失败。

1>

1>已用时间00:00:01.39

==========生成:成功0个,失败1个,最新0个,跳过0个

2.整体测试一次看结果是否正确,不正确就开始在怀疑的地方添加断点

===============================================比如一些FOR循环,一些关键值求出的步骤后面。

3.断点添加之后开始编译执行,程序停在断点处之后,在VS2003以后的版本中可以用鼠标移到变量上面查看它的值是不是预期的,然后点F11(逐语句)F10(逐过程)来一步一步观察看变量变化过程。观察变量更有效的方法就是添加监视,在变量上点右键-添加监视就可以方便观察了。

4.总之,首先看逻辑是否正确,把自己想成一个只会一步一步运行的计算机,然后再逐步运行,方法和思维都很重要。

如图:

⑻ C语言 为什么调试结果窗口一闪即过

不知道你用的是哪个编译器,但是我猜你应该是编的最简单的控制台程序,那么如果你的main函数是int型或其他类型,而最后又是由return返回,且return前没有诸如从键盘读入字符等的命令,那么你的程序在执行完的时候会直接退出,所以会有一闪而过的情况,要想让它停留,可以在return语句前添加一个按任意键退出的语句,最常用的有两种方法:
1.
printf("\n按任意键继续...");
getchar();
return 0;
2.
前面包含stdio.h
sysytem(“PAUSE”);
return 0;

⑼ C语言 怎么调试程序

一、在keil中调试c语言程序

1、打开我们的程序,点击菜单栏右侧的start/stopdebug..按钮,进入调试模式,如下图。

⑽ c语言程序老是调试时窗口一闪就没有了

两种方法,一是改程序,在结束前,请求输入内容,如:
getchar(); 或是 调系统的 system("pause");

方法二,不改程序,改调用方法,不要直接双击exe文件,先开一个cmd窗口,切换目录到你的程序所在位置,在命令行窗口里,输入程序名,回车,结果就一直留着,除非关闭了命令行窗口