导航:首页 > 源码编译 > c语言代码编译没有终止

c语言代码编译没有终止

发布时间:2022-09-13 05:16:11

1. c语言打完代码不能编译了,编译键按不了 软件没死

delta = b*b - 4*a*a; 不是 4ac吗?而且有两个解不是delta>0吗?x1和x2不是一个 -b+ ;一个 -b- 吗?

els (delta = 0)
{
x1 = (-b) / (2*a);
x2 = x1;
pronat(该方程有1解, x1 = x2 = %f\n", x1)
else写错了 printf写错了 输出语句少了一个引号。
delta==0不是delta=0;而且应该是else if
最后一个是else
printf("该方程无解");
还有其他错误
你怎么学的哟----

# include <stdio.h>
# include <math.h>
void main()
{
int a = 1;
int b = 2;
int c = 3;
double delta;
double x1;
double x2;
delta = b*b - 4*a*a;
if (delta >0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b + sprt(delta)) / (2*a);
printf("该方程有2解, x1 = %f, x2 = %f\n", x1 x2);

}
else if (delta== 0)
{
x1 = (-b) / (2*a);
pronat("该方程有1解, x1 = x2 = %f\n", x1)

}
else
{

printf("该方程无解\n");
}
}

2. 怎样终止C语言的编译

windows下按下CTRL+ALT+Del调出任务管理器,然后找到VC的进程结束进程就可以了。VC可能会提示你,直接点确定,然后重启VC

3. C语言代码运行问题,为什么编译通过,但是运行时直接结束,没有输入

请把最后两行从main()中移出来:
typedef struct tree
{
int weight;
int parent;
int lchild;
int rchild;
}HTNode,*HuffmanTree;
//定义编码
typedef struct code
{
int bit[MAX];
int start;
}HCNode,*HuffmanCode;
HTNode HT[MAX]; //移到这里
HCNode HC[MAX];

4. c语言代码执行到一半终止

大概问题,我已经知道了,所谓的执行到一半就终止,是因为数组越界了,而且编译器不会报警。
比如,在你这个程序里,我输出50-200,他永远只会提示你有21个,因为你输出之前,还需要把这个偶数存放到一维数组a中,然而一维数组只能存放20个数,50-200中间有76个偶数,到了第20个偶数的时候,数组就已经越界了,程序就运行不正常了,应该是直接跳出了循环。而你是在数组存放了第20个数的后面进行了i++,所以提示是第21个数,数组是从0开始计数的,你是从一开始提示的,所以第21个数其实就是数组a[20]的数,然后就跳出循环了,只要偶数大于21个,程序永远都只显示21个数,建议要么把数组去掉,这样就可以显示全部的偶数了,就正常了,要么把数组设置的大一点,但是这样,如果数太多了,还是会溢出的,看你的感觉是想保存前20个偶数,那么建议程序改成这样,就能即保存前20个数,显示的也是正常的。
代码如下:
#include <stdio.h>
#include <windows.h>
int main()
{
int a[20];
int c,d,e,f,g,h,i;
long b;
printf("起始值:");
scanf("%d",&c);
printf("终止值:");
scanf("%d",&d);
d++;
for(b=c;b<d;b++)
{
if(b%2==0)
{
if(i<20)
{
a[i]=b;
}
i++;
printf("第%d个偶数:%d\n",i,b);
}
}

printf("%d到%d中有%d个偶数",c,d,i);
return 0;
}

5. 为什么我用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;
然后直接运行就可以看到效果了!

6. 看看这个程序C语言 编译没问题 运行终止

#include<stdio.h>
#defineMAX100
char*lookupLongestStr(charpch[][MAX],intn,int*maxlength)
{
intc[4]={0},t=0,i=0,j=0;
char*p;
for(i=0;i<n;i++)
{
for(j=0;pch[i][j]!='';j++)
c[i]=j;
}
*maxlength=c[0];
for(i=1;i<n;i++)
{
if(c[i]>*maxlength)
{
*maxlength=c[i];
p=pch[i];
}
}
returnp;
}
intmain()
{
charpch[4][MAX]={"wasdwasdwasd","werewer","gddfgasdfddffsadffa","uiuio"};
intmaxlength=0,i=0;
char*p;
p=lookupLongestStr(pch,4,&maxlength);
printf("最长的单词是%s长度是%d ",p,maxlength);
return0;
}

7. c语言中循环语句如果没有终止条件能否编译

可以啊,编译器只能检查语法错误和一些简单的语义错误,死循环不会报错

8. C语言程序问题,编译没问题运行时程序会自动终止。提交给ACM测评结果显示Runtim error

scanf("%d",N[i]);你的这里不对
scanf函数的后面那个参数要给个地址,你这不是地址而是数组里的一个具体成员
应该写成scanf("%d",&N[i]);
你这是非法访问野指针

9. 怎样让c语言程序结果不结束

在您想要暂停的地方加上 system("pause"); 就可以使 C/C++ 程序暂停。不过,这个办法奏效的前提是系统中必须存在 pause 这个命令。此外,还需要包含标准头文件 stdlib.h(对于 C)或者 cstdlib(对于 C++)。
这个是一个方法 还有 方法2
这种方法稍微有点复杂,但它通用于任何系统,只要这个系统拥有符合标准的 C/C++ 编译器。在您想要暂停的地方加上 getchar();(对于 C 和 C++)或者 cin.get();(仅适用于 C++)就可以使程序暂停,然后按回车程序就会继续执行。不过,您会发现,这种办法却不一定奏效。如果您够细心,会发现只有当 getchar();/cin.get(); 前面有接收输入的语句的时候,该办法才会失效。如果之前没有接收任何输入,该办法是 100% 奏效的!这是因为,如果前面接收了输入,输入流中可能会有残留数据,getchar();/cin.get(); 就会直接读取输入流中的残留数据,而不会等待我们按回车。解决该问题的办法是,先清空输入流,再用 getchar();/cin.get();。清空输入流的办法如下:

1). /* 适用于 C 和 C++。需要包含 stdio.h(对于 C)或者 cstdio(对于 C++)*/
while ( (c = getchar()) != '\n' && c != EOF ) ; /* 对于 C 和 C++ */

2). cin.clear(); // 仅适用于 C++,而且还需要包含标准头文件 limits
cin.ignore( numeric_limits<streamsize>::max(), '\n' );

例如
#include <iostream>
#include <limits>
#include <cstdio>

using namespace std;

int main()
{
int i_test, c;

printf("Please enter an integer: ");
scanf("%d", &i_test);
printf("You just entered %d.\nPress enter to continue...", i_test);
while ( (c = getchar()) != '\n' && c != EOF ) ; // 清空输入流
clearerr(stdin); // 清除流的错误标记
getchar(); // 等待用户输入回车

cout << "Please enter an integer: ";
cin >> i_test;
cout << "You just entered " << i_test << ".\nPress enter to continue...";
cin.clear(); // 清除流的错误标记
cin.ignore( numeric_limits<streamsize>::max(), '\n' ); // 清空输入流
cin.get(); // 等待用户输入回车

return 0;
}
最后还有一个方法 :
先运行 Windows 下的 MS-DOS(对于 Windows 98 等较老的 Windows 系统)或者“命令提示符”(对于 Windows XP 等较新的 Windows 系统),然后进入您想运行的 C/C++ 程序所在的目录。假设该程序位于 D 盘的 cprog 目录下,依次输入以下内容就可以进入该目录:

D:
cd cprog

接着输入该程序的名字,按回车,该程序就会运行起来。假设该程序的名字为 test.exe,我们可以这样输入:

test

其实,不用进入 cprog 也可以运行 test,输入如下:

D:\cprog\test

阅读全文

与c语言代码编译没有终止相关的资料

热点内容
卡尔曼滤波算法书籍 浏览:765
安卓手机怎么用爱思助手传文件进苹果手机上 浏览:841
安卓怎么下载60秒生存 浏览:800
外向式文件夹 浏览:233
dospdf 浏览:428
怎么修改腾讯云服务器ip 浏览:385
pdftoeps 浏览:490
为什么鸿蒙那么像安卓 浏览:733
安卓手机怎么拍自媒体视频 浏览:183
单片机各个中断的初始化 浏览:721
python怎么集合元素 浏览:477
python逐条解读 浏览:829
基于单片机的湿度控制 浏览:496
ios如何使用安卓的帐号 浏览:880
程序员公园采访 浏览:809
程序员实战教程要多长时间 浏览:972
企业数据加密技巧 浏览:132
租云服务器开发 浏览:811
程序员告白妈妈不同意 浏览:333
攻城掠地怎么查看服务器 浏览:600