你这个编译有问题啊

 我来答
qzhao_1
2018-11-19 · TA获得超过2.4万个赞
知道大有可为答主
回答量:2.4万
采纳率:76%
帮助的人:4344万
展开全部
关于在使用高级程序设计语言编程的过程中,产生的编译错误是各种各样的。因此你必须要把详细的程序源代码写出来,别人才能够帮助你进行分析。
下面我以 C 语言为例,对程序出错类型进行一个大致的说明。
根据我自己多年进行 C 语言编程的经验,通常 C 语言的错误有如下一些类型,可以供你参考:
(1)、语法错误。这类错误是最容易进行调试的,因为如果程序中有语法错误,那么程序在进行编译时都通不过去(例如:程序中缺少分号、或者是使用了非法的变量名称等);
(2)、指针错误。这类错误是最难于调试的。即:在程序进行编译、链接时,不会产生任何出错信息,但是一旦程序运行,就会出现程序崩溃现象。如下源程序:
#include <stdio.h>
#include <stdlib.h>
void main( )
{
char * p ; /* 定义了一个字符指针变量 p */

p = (char *)malloc(100000)*sizeof(char) ; /* 为变量 p 动态分配内存 */

if( p == NULL ) /* 该段代码绝对不能够省略。必须要判断动态分配内存是否成功,绝对不能够认为系统每次分配内存都一定成功 */

{ /* 若内存分配失败,则退出应用程序 */

printf("Memory allocation failured !\n" ) ;

exit(1) ;

}
gets(p) ; /* 从键盘输入一行数据,并保存到 p 中 */

puts(p) ; /* 在屏幕上显示刚刚输入的数据 */

free(p) ; /* 释放内存 */

}

(3)、其它未知错误。例如:最简单的除法程序。
#include <stdio.h>
void main( )
{
int a, b ;

scanf("%d %d", &a, &b) ;

if( b == 0 ) /* 该段代码不能够省略。两个数做除法时,除数 b 不能够为零。若为零,则退出应用程序 */

{

printf("b can't be zero !\n") ;

exit(1) ;

}

printf(" Result is : %d", a / b ) ; /* 打印 a/b 的商 */

}
你可以根据我的思路,再对你的源代码进行仔细调试。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式