当前位置:首页 » 编程语言 » c语言程序停止运行
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言程序停止运行

发布时间: 2022-02-13 23:39:28

‘壹’ c语言程序运行显示停止运行

你的C语言程序中,输入语句scanf("%d,&a");和scanf("%d,&b");写错了,应该是scanf("%d",&a);和scanf("%d",&b);双引号的位置不对.

你的C语言程序我帮你改完了,你看看吧(改动的地方见注释)

#include<stdio.h>

intmain(){

inta,b,c,d,e,f,g;

printf("请输入a的值: ");

scanf("%d",&a);//这里把scanf("%d,&a");改成scanf("%d",&a);

printf("请输入b的值: ");

scanf("%d",&b);//这里把scanf("%d,&b");改成scanf("%d",&b);

c=a+b;

d=a-b;

e=a*b;

f=a/b;

g=a%b;

printf("a+b的值为:%d ",c);

printf("a-b的值为:%d ",d);

printf("a*b的值为:%d ",e);

printf("a/b的值为:%d ",f);

printf("a%b的值为:%d ",g);

return0;

}

‘贰’ 一运行C语言程序 就提示程序已经停止工作

C语言中函数的调用中,参数传递,只能传递数值。如果只是将数值传递过去(接收者是形参),在子函数中变化,形参的变化,不会影响到实参数据的内容。

C中,每定义一个变量,系统都会在内存中给其分配一个空间用来存储数据。而这个空间的编号就是这个变量的地址。当我们将这个地址传递到子函数中,子函数在操作数据时,就会改变这个地址中的数据,这样,实参的数据是会发生变化。

而你程序中,传递的是a b本身的值(可能是0,可能是1,可能是任意的数),scanf()将这两个值当作地址去操作,因此会产生系统错误,导致程序运行停止。

‘叁’ 执行C语言程序时显示已停止工作

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
在头文件的下面增加这一语句:
intq,p;

你程序的功能和结果没有验证

‘肆’ c语言程序一运行就停止工作

typedef
struct
{
int
CoeffArray[
MaxDegree
+
1];
int
HighPower;
}*
Polynomial;
按照你的定义
Polynomial是一个指针类型
Polynomial
Poly1
;只是定义了一个指针,并没有实例化对象
Poly1->HighPower=
1000
;像这样的操作是不行的,因为此时Poly1的HighPower域还没有非配空间。
下面是正确操作
Polynomial
Poly1
=
(Polynomial
)malloc(sizeof(int)*(MaxDegree
+
2));
Poly1->HighPower=
1000
;

‘伍’ 用c语言编写东西 为什么程序会停止工作

这种情况叫做 runtime error (运行时错误)。


在 Windows 7 上这样提示:

runtimeerror(运行时错误)就是程序运行到一半,程序就崩溃了。

比如说:

①除以零

②数组越界:inta[3];a[10000000]=10;

③指针越界:int*p;p=(int*)malloc(5*sizeof(int));*(p+1000000)=10;

④使用已经释放的空间:int*p;p=(int*)malloc(5*sizeof(int));free(p);*p=10;

⑤数组开得太大,超出了栈的范围,造成栈溢出:inta[100000000]

‘陆’ C语言编程的时候出现“程序已停止工作”的原因有哪些

编程时候还是运行时候,编程时候那就是软件安装有问题,运行的话就是内存溢出,比如指针用错,数组赋值赋错地址

‘柒’ c语言程序我一运行就停止工作

浮点型的应该用%f输入
scanf(“%f",iNumA);
输出地时候也是
printf("High=%f\n",High);

‘捌’ c语言程序编程求助,为什么程序停止运行

#include<stdio.h>
intmain()
{
intn,i,x,y,j,p,q,max,min;
inta[10];
printf("请输入一个不大于10的正整数n: ");
scanf("%d",&n);
printf("请输入%d个整数: ",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);/*语法问题:scanf需要指针*/

max=a[0];
x=0;
for(i=1;i<n;i++)
{
if(max<a[i])
{
max=a[i];
x=i;
}
}
min=a[0];
y=0;
for(i=0;i<n;i++)
{
if(min>a[i])
{
min=a[i];
y=i;
}
}
p=a[0];a[0]=a[y];a[y]=p;
q=a[n-1];a[n-1]=a[x];a[x]=q;/*最后一个数是a[n-1]不是a[n]*/
for(i=0;i<n;i++)
printf("%d",a[i]);
return0;
}

‘玖’ c语言这程序一运行就停止工作

已经帮你完善,以下是代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intwrong=0,right=0;
voidgeta(inta[],intb[],intn)
{
inti,j;
srand(time(NULL));
for(i=0;i<n;i++)
a[i]=rand()%100;
for(j=0;j<n;j++)
b[j]=rand()%100;
}
voidprint1()
{
printf("小学生算术自测 ");
printf("*************************** ");
printf("按1键:开始 ");
printf("任意键:退出 ");
printf("*************************** ");
printf("请选择:");
}
voidprint2(inta[],intb[])
{
inti,j,sum;
for(i=0,j=0;i<10&&j<10;i++,j++)
{printf("%d:%d+%d=",i+1,a[i],b[j]);
scanf("%d",&sum);
if(sum==a[i]+b[j])
{right++;
printf("恭喜你答对了 ");
}
else
{wrong++;
printf("不好意思,你答错了 ");
}
}
}
main()
{
ints[10],c[10],n,f=1;
print1();
scanf("%d",&n);
while(f)
{
if(n==1)
{geta(s,c,10);
printf("测试开始a ");
print2(s,c);
}
printf("测试结束,你这次总共答对%d道,答错%d道a ",right,wrong);
printf("请选择是否还要继续,是请按1,退出请按任意键 ");
scanf("%d",&n);
if(n==1)
f=1;
else
f=0;
right=wrong=0;
if(n!=1)
printf("你选择了退出a 测试结束,感谢使用 ");
}
}

‘拾’ C语言如何停止运行

一般都是用Ctr+c来停止。如果是程序内部的话,可以在main函数里面使用return,或者用exit()都可以让程序停止运行。