編譯沒有錯誤為什麼不能執行
A. 這個c語言源代碼怎麼回事,為什麼編譯沒有錯,卻執行不了啊
scafn這個寫錯了 應該是scanf
用system這個函數的話 最好包含頭文件 stdlib.h
B. C語言編譯沒錯誤,但為什麼不能運行出結果
bug!
編譯器推薦你用visual studio它會指出你邏輯不合理的地方(當然有很大局限不好用),還有你的程序是不是沒加輸出,還是輸出了但是沒加getchar();讓它停頓住而一閃而過?
C. c語言編譯沒錯誤,但是執行不了,一執行就出錯,這是為什麼呢
你這個就叫「編譯錯誤」,確切地說是「鏈接錯誤」,不叫「運行時出錯」。
D. 這個C程序編譯顯示沒有錯誤,為什麼不能運行
nt a,b; scanf("%d%d",&a,&b);//參數必須是指針(地址)才可以。 scanf()函數要求參數必須是指針類型,即將地址傳輸到其內,才可以讓a , b變數中獲取到數據。 如果你學過指針,你就會理解了。 C語言中函數的調用中,參數傳遞,只能傳遞數值。如果只是將數值傳遞過去(接收者是形參),在子函數中變化,形參的變化,不會影響到實參數據的內容。 C中,每定義一個變數,系統都會在內存中給其分配一個空間用來存儲數據。而這個空間的編號就是這個變數的地址。當我們將這個地址傳遞到子函數中,子函數在操作數據時,就會改變這個地址中的數據,這樣,實參的數據是會發生變化。 而你程序中,傳遞的是a b本身的值(可能是0,可能是1,可能是任意的數),scanf()將這兩個值當作地址去操作,因此會產生系統錯誤,導致程序運行停止。
E. c語言 為什麼程序編譯沒有錯 無法運行呢
scanf("%d,%d",&m,&n)這句,輸入兩個數時中間也得用逗號隔開,你可以改成scanf("%d%d",&m,&n),這樣輸入兩個數時用空格隔開就行
#include<stdio.h>
longintjf(intn)
{inti;
longintt=1;
for(i=1;i<=n;i++)
t*=i;
return(t);
}
longintcmn(intm,intn)
{return(jf(m)/(jf(n)*jf(m-n)));}
intmain()
{intm,n;
printf("pleaseentermandn:");
scanf("%d%d",&m,&n);
printf("%d ",cmn(m,n));
return0;
}
如有不懂,歡迎追問!
F. c++6.0編譯沒有錯誤但運行不了為什麼
微軟的VC++6.0編譯環境下運行程序是默認自動在最後加上system("pause")的,不至於這樣人工干涉吧。
樓主說的「沒有一點兒反應」是什麼情況,是程序框框出來後就不走了一直掛在那裡,還是根本就沒有看到程序框框出來?
對了樓主,你不會是扔下VC++親自跑到Debug文件夾里去雙擊那個exe文件了吧?那樣的話是需要在代碼最後面寫上system("pause")的,或者加個無用的cin之類的輸入也行。
哦,還有一種情況,VC++6.0編譯的時候很容易死掉,你點關閉按鈕他還說「正在組建不能關閉」。其實不只是在「編譯」的時候,連「組建」也會出這問題。我一般喜歡先點編譯,提示obj沒錯誤就直接去點執行,讓他給我組建完了馬上運行出來,但是下面的提示信息欄顯示link...(組建中)就沒動靜了,程序出不來,點那個停止按鈕也沒反應,我就直接用任務管理器把他斃了再雙擊那個工作空間文件(.dsw)打開。聽說微軟有個這方面的補丁,我也沒下載過,不知道管不管用。不知樓主是不是也遇上了這情況。
G. 為什麼編譯沒有錯誤,運行卻有錯誤
99% 的情況下都是編譯正確運行錯誤
編譯正確只是說你沒有錯別字, 不代表你說得有道理.
H. 為什麼在編譯時沒有錯誤。。。最後卻運行不了。。。求解
#include<stdio.h>
#include<stdlib.h>
void main()
{ int i,j,m,n,a[14],h;
for(i=0; i<15; i++)
{ scanf("%d",&a[i]);
if(a[i]=0)
{ h=i; \\ 如果輸入了0, 則需要記住非 0 的數字個數
printf("輸入提前結束\n");
i=15; \\ 退出for 應該還有個專用語句, 我忘了 只好這樣做
}
}
for(i=0; i<h; i++)
{ m=i;
for(j=m+1; j<h; j++)
{ if(a[m]>a[j]) \\ 把最小的數記下來
m=j;
}
n=a[i]; \\調換順序,把最小的數放到上面
a[i]=a[m];
a[m]=n;
}
for(i=0; i<h; i++) \\ 列印結果
printf("%4d",a[i]);
printf("\n");}
雖然沒有測試 但至少思路是正確的, 你要好好學習啊 你對編程幾乎還沒有入門啊
I. C語言程序,編譯沒有錯誤,執行時出錯。問題在哪
#include<stdio.h>
intmax(inta,intb);
intmain(void)
{
inta,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("maxis%d ",c);
return0;
}
intmax(inta,intb)
{
returna>b?a:b;
}
max函數未定義