⑴ c语言不知道为什么运行不了
编译期错误。这是指在程序的编译过程中由编译程序识别或检查出来的错误,常称之为"语法错误"。诸如不符合规定的语句格式、对象说明与使用不一致、不正确的分隔符、不存在的标号、不正确的初始化数据、不恰当的循环嵌套等等。在编译期发现一个错误后,编译工作并不立即停止,而是尽可能多地找出源程序中的全部错误。
第二类,连接错误。这是指连接程序在装配目标程序时发现的错误,通常由于函数名书写错误、缺少包含文件或包含文件的路径错误等原因引起的。
第三类,运行期错误。这是指可执行程序执行过程中发现的错误。如在计算过程中遇到了除数为零的错误、求一个负数的平方根等等。编译系统发现这类错误后如无特殊指示通常告知一些适当信息,然后立即停止程序的执行。当然,为阻止这类错误的出现,程序设计者可在程序中编入一些由自己来检查这类错误的程序段,这可能更适合于自己的处理要求。
第四类,逻辑性错误。这类错误是在编译期、连接期和运行期都不能发现的错误。如程序中把log写成了log10,把x+y写成了x-y等。显然编译系统是无法查出这类错误的。
第五类,警告性错误。这类错误是指编译系统在编译阶段发现程序中有一些可疑的或含混不清的地方,如源程序中发现了一个定义过但从未使用过的变量。这类情况从语法上讲是正确的,因此一般不会停止编译,在大多数情况下不会阻止目标程序与可执行程序的生成、连接和运行。但是对这类错误不应掉以轻心,应仔细检查程序,这往往存在着某种潜在的运行期错误。
⑵ C语言作业运行不出来,求指导
没有运行结果的原因是代码中存在死循环。
进入 while 循环体前,变量 t 的值为 1。循环过程中 t 的值没有改变,而循环条件是 t >= 0.0001,这个条件一直满足,所以程序不会跳出循环。程序一直卡在循环里面,自然不会执行到下面的 printf 函数。
卡循环是没有运行结果的原因。实际上代码还存在其他问题,无法计算出正确的结果:
[1] 变量 s 的类型应该是 double:格雷戈里公式中的每一项都是小数,使用整型数类型保存结果会将小数部分截断;
[2] 第 10 和 11 行的 if 语句块是不必要的:前面的代码保证变量 t 的值为 1,因此无需负数到正数的转换;
[3] 变量 t 没有迭代:代码中变量 t 的作用是每次循环自增,用以提供分母的值,而实际上在循环中没有更新 t 的值;
[4] 变量 t 和变量 s 混淆了:代码用变量 s 来表示格雷戈里公式中的每一项的值,而循环条件的判断却用了变量 t,这也是死循环的原因。同时原题中要求用 t 表示格雷戈里公式中的每一项,代码中使用了变量 s 来表示;
程序运行结果
⑶ C语言编译好后为什么运行不出结果呢
这段代码有问题:while(1){printf ("Hello/n");}循环语句没有终止条件,循环会一直进行下去,得不到结果。
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显着。
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。
⑷ C语言为什么没错误还执行不了
c语言的错误分为两种,一种是运行时错误,一种是逻辑上的错误。逻辑上的错误不好判断,执行不了肯定是出现逻辑上的错误的。
⑸ C语言程序运行不了,哪位大神帮忙解个惑呀
你的二分法查找的C语言程序有两处问题,我帮你改好了(改动的地方见注释)
#include <stdio.h>
#include <math.h>
void main(){//这里把mian改成main
int a[10]={0,1,6,16,23,56,80,100,110,115};
int low,high,mid,found,n;
low=0;
high=9;
found=0;
printf("write a number: ");
do{
scanf("%d",&n);
getchar();
}while(n<a[0]||a[9]<n);//这里把n小于a[9]改成a[9]小于n
while(low <= high){
mid=(low+high)/2;
if(n==a[mid]){
found=1;
break;
}else if(a[mid]>n)
high=mid-1;
else
low=mid+1;
}
if(found==1){
printf("this number bit is %d ",mid);
}else{
printf("NO no %d ",n);
}
}
⑹ c语言运行错误
打开vc6,新建空白的console工程后,应新建.c或.cpp文件写可执行代码。你在.h文件里写代码,是不是弄错了呢。写好后要先编译再运行。如果所有步骤都是正确的,还无法执行,那有可能是设置问题。
正常的设置如下(注意路径可能不同):
⑺ 我的c语言程序为什么会执行不了
程序语法上没有问题。如果你的编译器不支持汉字编码,则用 英文 ASCII 字符为好。
另外,注意输入数据 的 格式,格式不对会执行不了。
假定用英文:
#include <stdio.h>
int main(void)
{
char cType=0,dType=0;
float amount=0,rate=0;
printf("input c f c\n");
scanf("%c %f %c",&cType,&amount,&dType);
switch(dType)
{ case '1': rate = 1.5; break;
case '2': rate = 2; break;
case '3': rate = 3; break;
case '4': rate = 3.2; break;
case '5': rate = 3.5; break;
default: printf("no such dType\n"); return -1;
}
if(cType=='V') rate = rate *1.1;
if(amount>=100000) rate = rate *1.2;
printf("rate:%.2f%%\n",rate);
return 0;
}
输入: V 12345 3
输出: rate:3.30%
输入: 3 12345 3
输出: rate:3.00%
⑻ 为什么c语言无法运行。
代码没问题,可能是有的编译器或IDE不支持编译单个源文件。这样的话,你需先建立一个控制台项目,然后将源文件添加到项目后,再编译这个项目才行。
⑼ C语言问题,为什么运行不起啊!!!呜呜呜
应该将你代码的scanf函数中,第一个参数的3个%lf之间的逗号去掉,并且sqrt函数里面,后面三项乘法应该用乘法运算符*连接起来,之后再重新编译一下就可以了。
⑽ c语言的编程为什么不能运行
首先你要明白是语言的一个整体的框架,如果你整体的框架是没有构建好的话,那么他是不能够运行的,如果他里面存在了一些错误,他就会导致无法运行,或者是让你重新修改。