‘壹’ 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()都可以让程序停止运行。