『壹』 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()都可以讓程序停止運行。