當前位置:首頁 » 編程語言 » c語言編譯成功但不能運行
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言編譯成功但不能運行

發布時間: 2022-05-06 09:51:52

Ⅰ 一個c語言問題,編譯通過但不能運行

改好了
在下面已經注釋
#include
<math.h>
#include
<stdio.h>
#include
<conio.h>
#include
<stdlib.h>
#include
<time.h>
int
go(){
int
t,mo;
t=(int)(4*rand());
mo=t%4;
return
mo;
}
int
test(int
up,int
down,int
left,int
right,int
t1){
switch
(t1){
case
0:
if(up==1){
return
1;
}
case
1:
if(down==1){
return
1;
}
case
2:
if(left==1){
return
1;
}
case
3:
if(right==1){
return
1;
}
}
return
0;
}
void
main()
{
char
mat[12][12];
int
i,t,tgo,x,y,m,n,sum;
int
up=1,down=1,left=1,right=1;
char
s;
srand((unsigned)
time(NULL));
for(m=1;m<11;m++){
for(n=1;n<11;n++){
mat[m][n]=46;
}
}
mat[1][1]=65;
x=0,y=0;
for
(i=1;i<26;i++){
up=1;
down=1;
left=1;
right=1;
//測試四周是否已走過或是邊界,是則對應值取0
if(mat[x-1][y]!=46){
left=0;
}
if(mat[x+1][y]!=46){
right=0;
}
if(mat[x][y-1]!=46){
up=0;
}
if(mat[x][y+1]!=46){
down=0;
}
//如果4個方向都不可以通過,結束循環
sum=up+down+left+right;
if(sum==0){
break;
}
//如果生成的方向不可以行走,就再次循環生成新的方向知道可以通過
do{
t=go();
tgo=test(up,down,left,right,t);
}while(tgo!=1);
switch(t){
case
0:
mat[x][y-1]=65+i;
y=y-1;
break;
case
1:
mat[x][y+1]=65+i;
y=y+1;
break;
case
2:
mat[x-1][y]=65+i;
x=x-1;
break;
case
3:
mat[x+1][y]=65+i;
x=x+1;
break;
}
}
for(m=1;m<11;m++){
for(n=1;n<10;n++){
printf("%c",mat[m][n]);///////這里是%c不是%s
}
printf("%c\n",mat[m][10]);////////這里是%c不是%s
}
s=getchar();
}

Ⅱ c語言新手求助~~編譯正確,但不能運行

#include<stdio.h>

intmain()
{
inta,i,s,j;
a=1;
i=0;
s=1;
j=1;
while(a*s<=101)//i作為你想輸出的結果,在你的代碼里用作控制while循環的標志不合適
//因為你的a就是遞加的那個數,所以用a來控制
{
i=a+i;
a=a*s+2;//此處a遞增的時候應該先轉換為正數,然後再自加2
s=-s;
a=s*a;
printf("%d ",a);//你列印一下a看一下就知道循環是否正確
}
printf("1-3+5-7+...-99+101=%d ",i);
return0;
}

我的回答有錯誤,需要修改一下。

不好意思。

Ⅲ C語言編譯好後為什麼運行不出結果呢

這段代碼有問題:while(1){printf ("Hello/n");}循環語句沒有終止條件,循環會一直進行下去,得不到結果。

當前階段,在編程領域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優點,相較於其它編程語言具有較大優勢。計算機系統設計以及應用程序編寫是C語言應用的兩大領域。同時,C語言的普適較強,在許多計算機操作系統中都能夠得到適用,且效率顯著。

C語言是一門面向過程的計算機編程語言,與C++、C#、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%-20%。因此,C語言可以編寫系統軟體。

Ⅳ 為什麼這個C語言程序成功編譯卻無法運行

你定義了Y,但沒有用,然後%d,要是整型的,你後面是double型的,改一下就好了

Ⅳ 為什麼在c語言編好的程序無法運行

信息不是很全。我就關於「C語言」和「運行程序」之間的關系,大概說一說。你可以針對我說的結合你自己的情況比較一下。如果能補充必要的信息更好。

  1. 編碼者編輯的東西,叫「C源程序"。

  2. 「C源程序」必須經過「編譯、連接」,生成可執行程序,windows下通常是「.exe"後綴的文件,在linux/unix下,可能就是一個不帶後綴的可執行程序文件。

    比如:hello.c,在windows下可能生成hello.exe。在linux/unix下,可能生成hello

  3. 「編譯」和「連接」過程,不能有錯誤。否則得修改源程序或其它配置,然後重新做一遍。

  4. 如果是在一個「集成環境」,或者所謂IDE下,.exe等可執行文件必須是該IDE中可見的,即對應的PATH環境變數包含.exe可執行文件所在的路徑。

如果是(4)的情況,請檢查一下你的IDE的設置。如果是其它情況,請看看編譯和連接過程是否成功。

希望我說明了。有問題繼續交流,謝謝。

Ⅵ c語言編程,我編好了!但不能運行!是怎麼回事啊

請問你用什麼編寫了 編寫後需要使用編譯器編譯 編譯後會產生exe文件 這個文件才是可執行文件 一個寫好的代碼只是一個文本 當然不能運行

Ⅶ 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類型。

Ⅷ c語言編程中編譯鏈接成功卻不能運行,請問這是出了什麼事

一般是程序有bug,也有可能是一些非法操作,雖然編譯通過,但是執行時就會檢測出來錯誤

Ⅸ C語言程序問題,編譯成功可卻不能運行,這是為什麼

這是一個不能再正常的問題了。就像,我拿起了菜刀,為什麼切不好土豆絲一樣。
只有熟練的掌握了土豆絲的切法,方可隨心的切出土豆絲來。
只有熟練掌握了C語言編寫某類問題代碼的技能,也才能編寫出解決這類問題的程序來。

編譯成功只能說沒有語法錯誤,就像會用刀切,不會切到手,並不意味著就能切出粗細均勻的土豆絲來,也就是並不一定能夠實現功能。

具體為什麼,還需要具體問題具體分析了

Ⅹ 為什麼C語言程序編譯正確但不能執行

這當然原因非常多,比如:編譯器編譯不夠嚴格、程序有很大的風險等等,最簡單的一個例子如下:

inta;
scanf("%d",a);

可以確定的一點是:一旦在運行中出現錯誤,大多是較為嚴重的錯誤,須引起重視,否則,一旦錯誤非常嚴重,必會導致許多嚴重的後果,如死機、卡屏甚至直接導致藍屏。