『壹』 C語言編程編譯0錯誤,0警告,執行exe時卻說該內存不能為written!
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(j=0;j<n;j++)
{
scanf("%d",&b[j]);
}
少了取地址符號 &
『貳』 C語言不管輸入什麼,編譯之後都是一個錯誤,零個警告。請問這是怎麼回事
現在我來回答一下吧:
參照下面本人的例子來說明一下:
#include <AT89X51.h>
#include <stdio.h>
int main (void)
{
SCON = 0x50;
TMOD = 0x20;
TCON = 0x40;
TH1 = 0xE8;
TL1 = 0xE8;
T1 = 1;
TR1 = 1;
while (1)
{
printf ("Hello World!\n");
}
return 0;
}
代碼的具體意思怎麼樣,我就不解釋了,重點放在如何實現從串口調試窗口中輸出printf的內容吧。
其實很簡單,將代碼編譯鏈接後,開始調試,分別打開view -> serial window #1
然後,我們按run鍵,此刻,serial window #1並沒有任何內容,症結在哪兒呢?
我們回想一下串口通信的知識吧,知道了吧,我們沒有在代碼中設置串口發送寄存器中的內容,也就是,我們根本就還沒啟動串口發送消息。
這下好辦,我們繼續打開peripherals -> serial channel這個就是串口寄存器控制中心,我們在給其中的TI前面打上個勾,也就是啟動串口發送消息。
在此,我們就可以看到串口調試窗口中輸出printf的內容了~
上面的代碼是我參照那本書上的例子,我分析後,發現其實是它的代碼出錯了,只要把代碼改正,也就不用那麼麻煩了,經過上面這一步,估計大家猜到錯誤出在哪裡了,就就是:
T1 = 1;
我們改回:
TI = 1;
然後直接運行就可以看到效果了!
『叄』 dev c++編譯某個程序0錯誤0警告,但無法生成exe文件,什麼情況
不要用中文的文件名,另外也可以右鍵以管理員啟動DEVCPP
『肆』 編譯0 錯誤0警告 為什麼執行的時候程序會停止 求助大神
#include<iostream.h>
typedef int Status;
#include<stdlib.h>
struct Node
{
int data;
struct Node *next;
};
void creatL(Node *L,int n)
{
Node *p = NULL;
Node *q = L;
cout<<"input " << n << " numbers\n";
for(int i=0;i<n;i++)
{ p=new Node;
cin>>p->data;
p->next=q->next;
q->next=p;}
p=L->next;
while(p!=NULL)
{cout<<p->data<<" ";
p=p->next;}
}
int insertL(Node *L,int i,int x)
{
Node *p,*s;
p=L;
for(int j=0;p && j<i-1;j++)
p=p->next;
if(p==NULL)
return 0;
s= new Node;
if(s==NULL)
return 0;
s->data=x;
s->next=p->next;
p->next=s;
p=L->next;
while(p!=NULL)
{cout<<p->data<<" ";
p=p->next ;}
}
void main()
{
Node L;
L.next = NULL;
int n;
cin>>n;
creatL(&L,n);
cout<<"\n";
int i,x;
cin>>i;
cin>>x;
insertL(&L,i,x);
}
『伍』 C語言上機出現0警告0錯誤說明什麼
說明編譯沒有錯,沒有機器能識別的語法錯誤,但是演算法的檢驗仍需你自己確定。
『陸』 顯示零錯誤,零警告,怎麼會編譯出現這種錯誤,什麼意思
那你的代碼能編譯嗎,如果要是可以編譯,那就看編譯結果怎麼樣
但是0個錯誤0個警告的意思應該是你的語法沒有錯誤,直接看編譯出來的結果有沒有問題,如果要是編譯結果有問題,可以把代碼重新修改一下
『柒』 編譯的時候0錯誤0警告,可是生成hex文件就有3個警告,求解,C語言單片機編程
問題我已經遠程幫你解決了,你之所以不能生成HEx,是你程序有個語法錯誤,在程序上面有點 小數點字元,而不是因為這個警告,這類的警告不影響程序的Hex文件的生成。
另外,你的C語言有點弱,你那個叫函數的定義,而非調用,把C語言復習一下,做一個優秀的單片機工程師,C語言必須做到精通。
『捌』 剛學習c語言寫程序代碼顯示0 error(s), 0 warning(s) 是什麼意思啊怎麼解決
是指你編寫的代碼 0 個語法錯誤,運行時 0 個錯誤的意思。
說明你的編譯連接成功,可以運行你編寫的程序了。
『玖』 順序表0錯誤0警告不能運行啊
ElemType *m,*n,*e;
int i,b;
問題1:b沒有初始化,下面循環卻使用了b,for(i=0;i<b;i++)。
問題2:int a[];你這個a沒有長度,所以這根本就不是數組,只不過是一個沒有指向任何內存空間的指針,這肯定就不能訪問a[i]了啊。
問題3:初始化initlist (L);時,L->length=0;然後b=getlen(L);,也就是b=0,那麼for(i=0;i<b-1;i++)就不會執行循環體。
問題4:ElemType *m,*n,*e;指針e沒有初始化也沒有指向任何其他地方,在delete1(L,i,e);里,卻用*e=L->data[i-1];給e指向的內容賦值,這里肯定也是錯的。只不過由於問題3的存在,程序不會走到這里。
PS:你這代碼錯誤太多了啊,而且都是最基本的問題,希望你還是先把基礎打好,然後去學習一下怎麼用編譯器進行調試,你這些其實都是很容易就能定位出來的錯誤。
『拾』 0error,0warning,為什麼執行結果不對
編碼錯誤分為編譯錯誤和邏輯錯誤,0error,0warning只是說明你的代碼在語法上沒有錯誤,編譯通過 ,而此時執行結果不對就說明程序設定出錯。解決方法如下:
1、首先創建a.c和b.c兩個源碼文件,a.c生成程序a,b.c是傳遞給a的文件。