程序编译没问题但是开发板不能用
‘壹’ C语言程序问题,编译成功可却不能运行,这是为什么
如果你的循环中的i值变化范围没有问题,则修改你的数组定义为:double err[502],B,W[502],W2[502],j,beta[501];你的原始定义都少了一个数组元素,会导致下标越界,进而引发运行时错误。
‘贰’ 程序编译成功但不能运行是什么原因
是程序有错 编译只能检查基本语法错误,有些问题编译是不能识别的 ,这就要自己好好检查检查了
‘叁’ 一个单片机矩阵键盘问题,这个程序编译之后没有错误,下载到开发板之后按键为什么没有反应啊
你好
你的程序没有注释,看了比较费劲,你对一楼的追问没错,程序语句也都对,根据你的程序,只能完成一个键的检测之后就没反应了。估计你是仿制了别人的键盘子程序,在你的程序结构中不合适。
问题:没有循环体,就算程序没问题也只执行一次,起码像这样
main()
{
。。。。起始条件
while(1) //循环开始
{
while(done==0)条件1
{
程序1
}
while(done==1)条件2
{
程序2
}
}//循环终点,返回循环开始处
}
‘肆’ arm-linux-gcc 编译后,在开发板上没法运行
你是不是说反了?或者是说你的环境变量已经有arm-linux-gcc了,而你又用了另一个交叉编译版本,所以导致不能运行?
‘伍’ C语言程序,编译连接时都没问题但运行时出错了
一眼就能看出的错误
你的
char
*name[100];
只是指针,没有分配内存,你把它做为二维数组用了
另外,字串数组不能只交换指针的
给你一个简单的参考(固定5个字串,非函数调用)
#include
<stdio.h>
#include
<string.h>
int
main()
{
int
i,j;
char
str[5][200],temp[200];
printf("Please
inout
five
strings:\n");
for(i=0;i<5;i++)
scanf("%s",str[i]);
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if
(strcmp(str[j],str[j+1])>0)
{
strcpy(temp,str[j]);
strcpy(str[j],str[j+1]);
strcpy(str[j+1],temp);
}
for(i=0;i<5;i++)
printf("%s\n",str[i]);
return
0;
}
‘陆’ 程序到开发板怎么运行不了
检查各函数声明后面有没有没加分号
main函数里应该用到了encryptchar();函数,注意其中的c要小写
clrscr();函数应该在conio.h里,建议用system("cls");
‘柒’ 单片机开发板能下载程序是不是说明芯片没有问题,下载完程序但开发板没反应是怎么回事,(连线没有问题)
开发板能下载程序只能说明开发板的编程(烧录)功能没问题,但还不能说明单片机没问题,如果单片机某个或某些IO损坏,但又不影响烧录,程序照样能下载。解决的的办法:1,换个单片机芯片试试;2,做个简单的程序只测试单片机IO口的状态,用万用表检测IO口电压变化,如果开发板自带实验用LED那就更方便一些。
‘捌’ 为什么我的程序编译没错误和警告,但是不能执行
很明显的,他缺少LIBCD.lib这个静态库文件啊,把他添加到你的工程里面就可以了。
哦还有就是每个程序的入口函数都是main函数,但是在你的程序里面缺少了这个函数,应该定义这个函数,并在这个函数里面调用你现在的这个函数就没什么问题了,不同的编译器对mian函数的要求是不一样的,有些编译器要求mian函数返回的是int,但是vc6.0的编译器不要求,你可以返回void类型,如
void
main()
{
}
也可以
int
main()
{
return
0;
}
你的程序可以改成
void
main()
{
bubble(3,5);//这个是你的函数
}
‘玖’ 为什么C语言程序编译正确但不能执行
这当然原因非常多,比如:编译器编译不够严格、程序有很大的风险等等,最简单的一个例子如下:
inta;
scanf("%d",a);
可以确定的一点是:一旦在运行中出现错误,大多是较为严重的错误,须引起重视,否则,一旦错误非常严重,必会导致许多严重的后果,如死机、卡屏甚至直接导致蓝屏。
‘拾’ 程序可以编译,但是为什么不能执行
他都提示说:“源文件未编译”了。那你就先 编译 一下埃 PS: 你说的编完了,是编辑完了吧!PS:编辑和编译,是两回事情。运行前,需要先编辑好程序(也就是你说的输入),再编译一下(保证没有错误),然后才能运行