編譯時沒錯運行時錯誤
Ⅰ 程序編譯時沒錯運行時有錯是怎麼回事
程序編譯沒有錯誤,只是表明語法檢查沒有問題了,但是程序的邏輯是否合理、運行是否正確,則不一定。很多情況都會導致這樣的問題,比方說數組越界,訪問非法指針等,你沒有給出源代碼,也沒有提供相關錯誤信息,所以到底是什麼原因,在這里也不好確定。如果程序不長的話,建議對程序進行調試,監測程序的運行狀態,這樣容易找出問題。
Ⅱ 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函數未定義
Ⅲ 編譯沒問題,運行出錯,怎麼回事
編譯沒問題,運行出錯,怎麼回事
況會有很多種:
1,你按回車渲染的時候,不是有條紅線跑過去嗎? 當彈出錯誤後,你看那個紅線在哪個位置,可以是那裡有一幀出了問題,把那個位置切掉一幀切掉再渲染看看,我原來就是用這個辦法,切掉後,可以渲染過去,應該就是這個問題了,
如果是上面這個問題,那你下面就不用看了,相信你已經輸出來了。
2,看你導入的原文件:視頻,音頻圖片等有沒有什麼問題,
3,解碼器都是最新的嗎,
4,輸出的時候,設置的問題,你先輸個AVI試試,
5,都不行的話,一段一段地輸成AVI,最後再新建一個工程文件,把它們導進來,再輸出
6,新建一個工程文件,然後,把你現在的這個工程文件導進去,輸看看,行不行。。
目前想到的就是這些,希望你成功吧。。
8.我想我們會在一起的我覺得自己很幸福,我不再是一條孤獨流浪的魚,我有岸可度,岸的一端你在那。
Ⅳ 為什麼我寫的C語言程序編譯時沒錯,運行時有錯誤
建議你下斷點,然後反復調試運行,肯定能找出問題所在。
我一遇到次類問題,都是這樣解決的。
Ⅳ 編譯時無錯誤,運行時應用程序錯誤
二維數組賦值有問題,二維數組要行和列分別賦值
Ⅵ 我編的這個程序為什麼編譯沒有錯誤執行時有錯誤啊,希望懂的朋友解答一下
1、你給的代碼中,使用了中文的標點符號。在絕大多數C語言編譯器中,中文標點符號與英文標點符號不是一回事,不被認可。
2、另外,某些C語言編譯器中,main()函數前是不能加void的。
3、准確代碼如下:
#include<stdio.h>
main()
{
intx=3,y=1;
if(x>0)y=10;
y++;
printf("%d%d",x,y);
}
4、運行情況如下圖:
Ⅶ 編譯沒有錯誤,但是運行時老師
運行結果:
wasitabarorabatsaw
有兩處錯誤
j<38寫成了i<38
第二處,字元串輸出的時候不帶*,*p代表字元串的首個字元,字元對應的是%c,所以就運行的時候出錯了。
#include<stdio.h>
#defineN50
voiddel_char(char*old,char*new1)
{
inti,j;
for(i=0;i<N;i++)
{
if(old[i]<'A'&&old[i]>'z'&&old[i]!=0)
for(j=i;j<N;j++)
old[j]=old[j+1];
}
for(i=0;i<N;i++)
new1[i]=old[i];
}
voidlink_string(char*new1,char*link_new)
{
inti,j;
for(i=0;i<19;i++)
link_new[i]=new1[i];
for(j=19;j<38;j++)//j<38
link_new[j]=new1[i];
}
voidmain()
{
char*p1,*p2,*p3,new1[N]={"1"},link_new[N]={"2"},old[N]={"wasitabarorabatsaw"};
inti,j;
p1=new1;p2=link_new;p3=old;
del_char(p3,p1);
printf("%s ",p1);//字元串,不加*
link_string(p1,p2);
printf("%s ",p2);//字元串,不加*
}
Ⅷ 編譯時沒有錯,執行時出錯了,這是什麼意思
可能是你不小心弄了一個跟這個函數相同的函數obj,還有同一個可能是你調試的次數太多,因為調試次數多了軟體就會有問題顯示,即使是對的也會顯示一些沒用的錯誤
Ⅸ 編譯沒問題,但運行時怎麼會出現錯誤呢
可能是指針越界,定義的數組不夠大,訪問了數組以外的數據。
比如定義了char a[10]; 而你的某個循環代碼訪問了a[20],或者a[-1]之類的。
Ⅹ 編譯正確,但運行是錯誤的
估計你是package了
package之後可以編譯,但是編譯後的class文件在包下,不再當前路徑下。
所以你用cmd運行的時候要在前面加包名