編譯沒問題運行出錯
❶ 編譯沒問題,但運行時怎麼會出現錯誤呢
可能是指針越界,定義的數組不夠大,訪問了數組以外的數據。
比如定義了char a[10]; 而你的某個循環代碼訪問了a[20],或者a[-1]之類的。
❷ 程序編譯時沒錯運行時有錯是怎麼回事
程序編譯沒有錯誤,只是表明語法檢查沒有問題了,但是程序的邏輯是否合理、運行是否正確,則不一定。很多情況都會導致這樣的問題,比方說數組越界,訪問非法指針等,你沒有給出源代碼,也沒有提供相關錯誤信息,所以到底是什麼原因,在這里也不好確定。如果程序不長的話,建議對程序進行調試,監測程序的運行狀態,這樣容易找出問題。
❸ 編譯時沒有錯,執行時出錯了,這是什麼意思
可能是你不小心弄了一個跟這個函數相同的函數obj,還有同一個可能是你調試的次數太多,因為調試次數多了軟體就會有問題顯示,即使是對的也會顯示一些沒用的錯誤
❹ 為什麼我寫的c語言程序編譯時沒錯,運行時有錯誤
建議你下斷點,然後反復調試運行,肯定能找出問題所在。
我一遇到次類問題,都是這樣解決的。
❺ C程序編譯時沒問題,為什麼運行出錯
int a,b; scanf("%d%d",&a,&b);//參數必須是指針(地址)才可以。 scanf()函數要求參數必須是指針類型,即將地址傳輸到其內,才可以讓a , b變數中獲取到數據。 如果你學過指針,你就會理解了。 C語言中函數的調用中,參數傳遞,只能傳遞數值。如果只是將數值傳遞過去(接收者是形參),在子函數中變化,形參的變化,不會影響到實參數據的內容。 C中,每定義一個變數,系統都會在內存中給其分配一個空間用來存儲數據。而這個空間的編號就是這個變數的地址。當我們將這個地址傳遞到子函數中,子函數在操作數據時,就會改變這個地址中的數據,這樣,實參的數據是會發生變化。 而你程序中,傳遞的是a b本身的值(可能是0,可能是1,可能是任意的數),scanf()將這兩個值當作地址去操作,因此會產生系統錯誤,導致程序運行停止。
❻ 編譯沒問題,運行出錯,怎麼回事
void CNewDlg::InitializeChannel(Channel *&channel,const char* connector,const char* camFile,CHANNEL_TYPE channel_type)
{
char configMsg[1024];
// Creation of the channel without WOI
channel = new Channel(Boards[0], connector);//Channel 是第三方庫裡面的一個類,程序到這 就會運行錯誤
channel->SetParam(MC_CamFile, camFile);
channel->SetParam(MC_ColorFormat, EMC_SAMPLE_PROGRAM_COLOR_FORMAT);
// Configure triggering
channel->SetParam(MC_TrigMode, MC_TrigMode_COMBINED); //MC_TrigMode_IMMEDIATE //MC_TrigMode_COMBINED
channel->SetParam(MC_NextTrigMode, MC_NextTrigMode_COMBINED); //MC_NextTrigMode_REPEAT //MC_NextTrigMode_COMBINED
channel->SetParam(MC_SeqLength_Fr, -1); //MC_INDETERMINATE
// Configure triggering line
channel->SetParam(MC_TrigLine, MC_TrigLine_NOM);
channel->SetParam(MC_TrigEdge, MC_TrigEdge_GOHIGH);
channel->SetParam(MC_TrigFilter, MC_TrigFilter_ON);
channel->SetParam(MC_TrigCtl, MC_TrigCtl_TTL);
channel->SetParam(MC_SeqLength_Fr, -1); //MC_INDETERMINATE
channel->GetParam("ImageSizeX",m_CCD_SizeX );
channel->GetParam("ImageSizeY",m_CCD_SizeY );
Register the callbacks
channel->RegisterCallback(&Callbacks, &CCallbacks::OnSurfaceProcessing, MC_SIG_SURFACE_PROCESSING); // SURFACE_PROCESSING handler
channel->RegisterCallback(&Callbacks, &CCallbacks::OnSignal, MC_SIG_ANY); // default signal handler
// Enable the signals
channel->SetParam(MC_SignalEnable + MC_SIG_ANY, MC_SignalEnable_ON);
channel->SetParam(MC_SignalEnable + MC_SIG_SURFACE_PROCESSING, MC_SignalEnable_ON);
channel->SetParam(MC_SignalEnable + MC_SIG_ACQUISITION_FAILURE, MC_SignalEnable_ON);
// Prepare the channel
channel->Prepare();
channel->SetParam(MC_ChannelState, MC_ChannelState_ACTIVE);
❼ 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函數未定義
❽ 這段C語言編譯沒問題,運行提示有錯誤,是什麼意思求助大神。。。
編譯沒問題是因為所有語法都符合規范,運行提示有問題是因為找不到主函數。你的main拼錯了。另外你的邏輯有問題,這樣根本判斷不出來是不是素數。
#include<stdio.h>
#include<stdbool.h>
boolisPrime(intn)
{
if(n<2)
returnfalse;
for(inti=2;i<=n/2;i++)
if(n%i==0)
returnfalse;
returntrue;
}
intmain(void)
{
intn;
scanf("%d",&n);
if(isPrime(n))
puts("Itisaprime.");
else
puts("It'snotaprime.");
return0;
}
❾ c語言編譯沒錯誤,但是執行不了,一執行就出錯,這是為什麼呢
你這個就叫「編譯錯誤」,確切地說是「鏈接錯誤」,不叫「運行時出錯」。
❿ 編譯沒問題,運行出錯,怎麼回事
編譯沒問題,運行出錯,怎麼回事
況會有很多種:
1,你按回車渲染的時候,不是有條紅線跑過去嗎? 當彈出錯誤後,你看那個紅線在哪個位置,可以是那裡有一幀出了問題,把那個位置切掉一幀切掉再渲染看看,我原來就是用這個辦法,切掉後,可以渲染過去,應該就是這個問題了,
如果是上面這個問題,那你下面就不用看了,相信你已經輸出來了。
2,看你導入的原文件:視頻,音頻圖片等有沒有什麼問題,
3,解碼器都是最新的嗎,
4,輸出的時候,設置的問題,你先輸個AVI試試,
5,都不行的話,一段一段地輸成AVI,最後再新建一個工程文件,把它們導進來,再輸出
6,新建一個工程文件,然後,把你現在的這個工程文件導進去,輸看看,行不行。。
目前想到的就是這些,希望你成功吧。。
8.我想我們會在一起的我覺得自己很幸福,我不再是一條孤獨流浪的魚,我有岸可度,岸的一端你在那。