A. 編譯程序時出現沒有錯誤但有警告的原因
沒法錯誤是因為編譯器沒有檢查出語法錯誤,有警告是因為有些可能寫的不太規范,有時也是不標准,比如你定義一個變數,但是在程序中沒有使用它,編譯程序時就會警告「定義了沒有使用的變數」,如果你用fopen打開文件,編譯是就會提示「fopen是一個不安全的函數」等等。但是警告一般不會影響程序的正確性。
B. 程序編譯時沒錯運行時有錯是怎麼回事
程序編譯沒有錯誤,只是表明語法檢查沒有問題了,但是程序的邏輯是否合理、運行是否正確,則不一定。很多情況都會導致這樣的問題,比方說數組越界,訪問非法指針等,你沒有給出源代碼,也沒有提供相關錯誤信息,所以到底是什麼原因,在這里也不好確定。如果程序不長的話,建議對程序進行調試,監測程序的運行狀態,這樣容易找出問題。
C. 程序編譯後,如果沒有顯示錯誤,還需要執行什麼操作,才能生成機器代碼文件
按ctrl+f5鍵生成文件。
進入/home/user/目錄,編譯源代碼:gccexample.c-oexample,如果沒有編譯錯誤,將生成執行文件example。在當前目錄下輸入./example,就可以運行了。
D. 編譯的C語言程序沒有錯誤就是運行不了怎麼回事
這個太多情況了,程序能編譯只能證明程序沒語法錯,程序有問題(如下標溢出,表達式不正確)可能導致程序無法運行或結果不正確的
E. 我編的這個程序為什麼編譯沒有錯誤執行時有錯誤啊,希望懂的朋友解答一下
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、運行情況如下圖:
F. c語言程序編譯時沒錯誤,組建時為什麼出現錯誤
你說的組建錯誤多半是link出錯吧,這個很可能是你安裝的路徑不是默認那個路徑,於是,可能需要你自己修改一下
編譯器
設置,你可以到網上搜一下到底是在什麼地方設置。我記不清楚具體位置了,就是設置
鏈接器
的路徑。在對vc進行設置的那個菜單裡面
找一找
,裡面就有各種路徑設置,包括
頭文件
路徑啊,可執行文件路徑之類的,就在裡面設置到vc下面的bin路徑就可以了。
G. (c語言)我找到問題了,編譯器沒有報錯,還可以運行,誰能解答一下
你這代碼錯了
能運行但是,不建議這樣寫,因為有歧義
%s->字元串(char[])佔位符
%c->單個字元(char)佔位符
char a;//單個字元
char s[10];//字元串
scanf("%c",&a);//輸入單個字元
scanf("%s",s);//輸入字元串
printf("%c",a);//輸出單個字元
printf("%s",s);//輸出字元串
H. 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函數未定義
I. 為什麼我的程序編譯沒錯誤和警告,但是不能執行
很明顯的,他缺少LIBCD.lib這個靜態庫文件啊,把他添加到你的工程裡面就可以了。
哦還有就是每個程序的入口函數都是main函數,但是在你的程序裡面缺少了這個函數,應該定義這個函數,並在這個函數裡面調用你現在的這個函數就沒什麼問題了,不同的編譯器對mian函數的要求是不一樣的,有些編譯器要求mian函數返回的是int,但是vc6.0的編譯器不要求,你可以返回void類型,如
void
main()
{
}
也可以
int
main()
{
return
0;
}
你的程序可以改成
void
main()
{
bubble(3,5);//這個是你的函數
}
J. C語言程序編譯鏈接沒錯誤但結果不對…
scanf("%d,%d",&a,&b);你把這句分開寫就好了,scanf("%d",&a);scanf("%d",&b);因為你在輸入a以後,會按下回車,如果你寫在一行就會把這個回車符賦給了b,所以b就是錯誤的!