A. 用C语言编译了代码,可是运行总是出错,不知道错在哪请指教,急求!
1,修改后源程序如下:
#include<stdio.h>
int
main()
{
double
a,b,r;
char
c;
printf("请输入三个数与符号/+-*的一个:\n");
scanf("%lf,%c,%lf,%lf",&a,&c,&b,&r);
switch(c)
{
case
'+':
printf("结果为:%.2lf+%.2lf+%.2lf=%.2lf\n",a,b,r,a+b+r);break;
case
'-':
printf("结果为:%.2lf-%.2lf-.2lf=%.2lf\n",a,b,r,a-b-r);break;
case
'*':
printf("结果为:%.2lf*%.2lf*%.2lf=%.2lf\n",a,b,r,a*b*r);break;
case
'/':
printf("结果为:%.2lf/%.2lf/.2lf=%.2lf\n",a,b,r,a/b/r);break;
default:
printf("你输的数据有误\n");break;
}
return
0;
}
VC++测试如下:
B. C程序编译时没问题,为什么运行出错
int a,b; scanf("%d%d",&a,&b);//参数必须是指针(地址)才可以。 scanf()函数要求参数必须是指针类型,即将地址传输到其内,才可以让a , b变量中获取到数据。 如果你学过指针,你就会理解了。 C语言中函数的调用中,参数传递,只能传递数值。如果只是将数值传递过去(接收者是形参),在子函数中变化,形参的变化,不会影响到实参数据的内容。 C中,每定义一个变量,系统都会在内存中给其分配一个空间用来存储数据。而这个空间的编号就是这个变量的地址。当我们将这个地址传递到子函数中,子函数在操作数据时,就会改变这个地址中的数据,这样,实参的数据是会发生变化。 而你程序中,传递的是a b本身的值(可能是0,可能是1,可能是任意的数),scanf()将这两个值当作地址去操作,因此会产生系统错误,导致程序运行停止。
C. C语言编的这个程序,为什么编译成功,却无法运行
帮你改了下
#include
<stdio.h>
int
main(void)
{
float
l
=
0.0;
float
q
=
0.0;
float
k
=
0.0;
printf("摇杆长度=");
scanf("%f",&l);
printf("摆角=");
scanf("%f",&q);
printf("行程速比系数=");
scanf("%f",&k);
return
0;
}
这样就没问题了。
编译系统没有自动连接上float
类型库,你要提醒编译器
引入float类型。
D. C语言编译好后为什么运行不出结果呢
这段代码有问题:while(1){printf ("Hello/n");}循环语句没有终止条件,循环会一直进行下去,得不到结果。
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显着。
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。
E. 请问一下c语言为什么编译成功连接的时候提示错误了
这个不是代码的问题 我想是你建立编译环境的时候出的错误 从头重新生成一个新的空白源程序 再写进去应该就没问题了
F. C语言程序编译成功了,为什么连接还出错
1 编译阶段,执行的是对单个文件的转换,从源代码转换成二进制文件。
2 链接阶段,将每个源文件转成的二进制文件,及相关的系统库文件共同打包生成可执行文件。
3 从定义上可以看出,链接阶段,出现错误有两种可能:
1) 函数中引用了不存在的函数。
2) 编译环境有问题,导致ld出错。
G. 为什么C语言程序编译正确但不能执行
因为你的c没有初值,while循环无法进行。另外你的算法也有问题,while循环可改为while (m % n != 0),循环结束后最小公约数时n。
H. C语言编译成功但生成失败,先前明明可执行,一下子就有错误了
1编译阶段,执行的是对单个文件的转换,从源代码转换成二进制文件。2链接阶段,将每个源文件转成的二进制文件,及相关的系统库文件共同打包生成可执行文件。3从定义上可以看出,链接阶段,出现错误有两种可能:1)函数中引用了不存在的函数。2)编译环境有问题,导致ld出错。
I. C语言程序问题,编译成功可却不能运行,这是为什么
如果你的循环中的i值变化范围没有问题,则修改你的数组定义为:double err[502],B,W[502],W2[502],j,beta[501];你的原始定义都少了一个数组元素,会导致下标越界,进而引发运行时错误。