可以编译但运行不出来结果
⑴ 编译没错,但运行结果出不来
怎么又是你,而且还是同样的错误。
if(BT->m.pxm!=item.pxm )
{
if(BT==NULL)
先对空指针解引用再判断null....
⑵ c语言编译好后为什么运行不出结果呢
这段代码有问题:while(1){printf ("Hello/n");}循环语句没有终止条件,循环会一直进行下去,得不到结果。
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显着。
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。
⑶ 为什么我的c程序编译成功,就是运行不出结果。
#include<stdio.h>
intmain()
{
doublev1,v2,r1=2,r2,h1=4,h2;
v1=3.14*r1*r1*h1;
scanf("%lf%lf",&r2,&h2);
v2=3.14*r2*r2*h2;
printf("半径为2高为4的圆柱体体积为%lf半径为3高为5的圆柱体体积为%lf",v1,v2);
}
⑷ c语言程序:编译运行都可以,但是没有运行结果
我大致看了看, 崩溃的原因的死循环.
if(n==7)
{
show();
}
else
{
enQuene(++n); //这里要调用 ++n,
}
另外 这个数组 quene[8] 我没有看到初始化,
⑸ 为什么我用C语言编译的时候,没有错误,但是就是运行不出来结果
现在我来回答一下吧:
参照下面本人的例子来说明一下:
#include <AT89X51.h>
#include <stdio.h>
int main (void)
{
SCON = 0x50;
TMOD = 0x20;
TCON = 0x40;
TH1 = 0xE8;
TL1 = 0xE8;
T1 = 1;
TR1 = 1;
while (1)
{
printf ("Hello World!\n");
}
return 0;
}
代码的具体意思怎么样,我就不解释了,重点放在如何实现从串口调试窗口中输出printf的内容吧。
其实很简单,将代码编译链接后,开始调试,分别打开view -> serial window #1
然后,我们按run键,此刻,serial window #1并没有任何内容,症结在哪儿呢?
我们回想一下串口通信的知识吧,知道了吧,我们没有在代码中设置串口发送寄存器中的内容,也就是,我们根本就还没启动串口发送消息。
这下好办,我们继续打开peripherals -> serial channel这个就是串口寄存器控制中心,我们在给其中的TI前面打上个勾,也就是启动串口发送消息。
在此,我们就可以看到串口调试窗口中输出printf的内容了~
上面的代码是我参照那本书上的例子,我分析后,发现其实是它的代码出错了,只要把代码改正,也就不用那么麻烦了,经过上面这一步,估计大家猜到错误出在哪里了,就就是:
T1 = 1;
我们改回:
TI = 1;
然后直接运行就可以看到效果了!
⑹ 可以编译,但是运行没有结果,为什么
for(k=1; k<5; k++); 你写的是j++.
⑺ C语言编译没错误,但为什么不能运行出结果
bug!
编译器推荐你用visual studio它会指出你逻辑不合理的地方(当然有很大局限不好用),还有你的程序是不是没加输出,还是输出了但是没加getchar();让它停顿住而一闪而过?
⑻ 程序编译过了,但是无法运行出结果是怎么回事
编译过了没错误,说明你的代码语法没错误。运行结果不对,是你的代码逻辑有问题,仔细检查代码逻辑流程是不是不对,调试调试。
⑼ 代码能编译,能运行,但是出不来结果怎么回事
首先说下这段代码的问题:
一、scanf函数后面如果不想把回车也放到Btree里面,后面加上getchar()函数过滤掉回车;
二、在dson函数里面有一个判断T是否为空错了,是==不是=,改为if(T == NULL);
三、还是在这个函数,逻辑错误,else if()这句条件是或者||,不是且&&,改成
else if(T->lchild || T ->rchild );
四、上面都改完就有结果出来了,但是节点数会少一个,因为最后一个没有孩子没有计数,改成下面的就可以:
五、这里输入会有个不好的地方,就是你输入的多上个字符,就要输入2(n-1)个#才能结束输入,而且严格意义上说这生成的不是一颗树而是链表,一直往左边扩展,没有树的优势了。
以上就是这段代码的分析,解答的好的话,请多多采纳,谢谢。
⑽ 程序能过编译看上去也没问题,运行不出想要的结果
printf("请输入两个整数:");
scanf("%d,%d",&a,&b);//这里的C换成d