導航:首頁 > 源碼編譯 > c語言編譯出來邏輯有問題

c語言編譯出來邏輯有問題

發布時間:2022-09-21 14:38:50

『壹』 C語言程序邏輯錯誤

從代碼本身以及運行的情況來看,可執行程序的內容,與所貼的代碼不相符(可能是修改了代碼後沒有重新編譯,就運行了修改前的代碼,不然也不會代碼現在有錯誤就能編譯通過的,例如第2行的末尾多了「op」,「現有1人捐款」也沒有輸出),修改建議如圖:

『貳』 c語言迷宮問題 編譯運行後只顯示地圖,可能邏輯有問題求教

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

intmap[9][12]={
{1,1,1,1,1,1,1,1,1,1,1,1},
{1,2,0,1,0,0,0,1,1,0,0,0},
{1,0,0,0,1,0,0,1,0,0,1,1},
{1,0,0,1,1,0,1,0,0,1,0,1},
{1,0,0,0,1,0,0,0,1,1,0,1},
{1,1,0,0,1,1,1,0,0,0,0,1},
{1,0,0,1,0,1,0,0,1,1,0,1},
{1,1,0,0,0,0,0,1,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1,1,1}};

voidprt()
{
system("cls");
introw,col;
for(row=0;row<9;row++)
{
for(col=0;col<12;col++)
{
if(map[row][col]==1)
{
printf("■");
}
elseif(map[row][col]==0)
{
printf("");
}
elseif(map[row][col]==2)
{
printf("☆");
}
}
printf(" ");
}
}

intmain()
{
prt();
intman_row=1,man_col=1;
charch;
while(1)
{
fflush(stdin);
ch=getch();
switch(ch)
{
case'w':
case'W':
if(man_row>=1&&map[man_row-1][man_col]==0)
{
map[man_row][man_col]=0;
man_row--;
map[man_row][man_col]=2;
prt();
}
break;
case'a':
case'A':
if(man_col>=1&&map[man_row][man_col-1]==0)
{
map[man_row][man_col]=0;
man_col--;
map[man_row][man_col]=2;
prt();
}
break;
case's':
case'S':
if(man_row<=7&&map[man_row+1][man_col]==0)
{
map[man_row][man_col]=0;
man_row++;
map[man_row][man_col]=2;
prt();
}
break;
case'd':
case'D':
if(man_col<=10&&map[man_row][man_col+1]==0)
{
map[man_row][man_col]=0;
man_col++;
map[man_row][man_col]=2;
prt();
}
break;
}
if(man_row==1&&man_col==11)
{
printf(" YouWin!");
break;
}
}
return0;
}

『叄』 請問大神這段c語言代碼邏輯有問題嗎

邏輯有問題,大括弧套錯了。第14行的大括弧}移到16行之後,17行之前。14行的這個大括弧}與11行的大括弧{對應,放錯位置了,應該在16行的大括弧}之後,17行的大括弧}之前。

『肆』 我在編寫C語言代碼的時候,有時候代碼會有一些邏輯上的錯誤,就是代碼可以運行,但得不到正確的結果.

新手最郁悶的事情莫過於程序可以運行但是卻得不到自己的結果了吧。
老手最郁悶的事情莫過於新手問為什麼我的程序可以運行但是卻得不到自己的結果了吧。
比如:
你天天用操作系統。
如果你用過Windows98就應該知道那時候系統經常崩潰的。
但是微軟設計的時候,不會把它故意設計成每小時或者沒幾天崩潰幾次吧。
不崩潰的時候,程序不也是正常運行么。
為什麼得不到自己想要的結果:
那是因為你的程序根本就沒有寫對
比如:
老師讓你輸出:1
你寫個程序輸出:2
你的代碼當然編譯不會出錯。
而且可以很好的運行,但是結果就是2.
永遠都不會是1,因為你就讓他輸出的2,結果怎麼會是1呢。
開發人員都知道:
再也沒有比修改語法錯誤再簡單的了
直接看看編譯器報的錯,看看第幾行,修改。OK。。太簡單了
邏輯錯誤就得調試了
這個世界上只有調試不開發的。沒有開發不調試的。
不會debug。永遠都不是程序員
你不可能一下子就得到自己想要的結果。
尤其是比較大的程序。
gdb..學習它,使用它,愛上它。
(gdb *nix平台的。如果,而且我猜你用的是Windows,Windows用vs不錯)

『伍』 c語言helloworld代碼是對的,但編譯錯誤

寫c語言的時候,如果代碼沒錯,這只能說明語法沒有出錯,直接導致的結果就是能編譯通過,並不意味著執行的結果就是正確的。影響c語言代碼執行結果的因素非常多。

一、指針的不正確運用;

二、變數精度問題。char,int,unsigned int,long ,float等,如果變數精度使用不正確,也會影響運算結果;

三、運算符的應用不正確。例如除,取余的區別;

四、正負符號位;

五、運算符的優先順序使用;

六、編譯器不同。各種編譯器也可能造成結果不一致;

C語言雖然是一門比較簡單的語言,但是要掌握這些細節,其實並不容易。

『陸』 c語言無法編譯是什麼情況

編譯出來只說明程序沒有語法錯誤,不說明沒有邏輯錯誤,有錯誤一般會有屏幕輸出,此其一。第二,可以在程序中設定一些輸出語句或斷點觀察。第三如果程序不輸入、輸出內容,程序執行是當然看不見東西(不直觀)。第三如果程序一值運行無法退出,說明存在「死循環」。

C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

『柒』 對於C語言編程出了錯,怎麼能快速找出錯誤呢

  1. 最直接的方法就是編譯,編譯後再按F4可以顯示錯誤信息及錯誤位置。

  2. 如果編譯通過,卻運行結果異常或不理想,往往是邏輯問題,請按順序檢查,如i++寫成i--,i++寫成j++,++i寫成i++,<=寫成<,有的變數一次循環後需要重新賦值清零,在循環末尾一定要寫上重新賦值語句。

『捌』 C語言編程邏輯錯誤。。求教!

你在minfabs函數中重新定義了a[N],而這個a[N]跟
main函數那個a[N]是兩個不同的數組,你應該把main函數的a[N]作為參數傳到minfabs,
即定義為void
minfabs(float
a[]),然後main中調用minfabs(a)

『玖』 用c語言編程,編譯後有錯誤卻不顯示

這個狀態表示:你的程序沒有錯誤,而是系統安裝不完整,或者其他問題導致編譯的最後一個階段(連接)無法進行,這個階段執行的命令的cl.exe,執行這個程序報錯了。

閱讀全文

與c語言編譯出來邏輯有問題相關的資料

熱點內容
雞料與雞糞的演算法 瀏覽:833
phpif變數為空值 瀏覽:59
iot編譯器異常 瀏覽:600
代理伺服器被禁用怎麼上網 瀏覽:411
隱私加密怎麼設置密碼 瀏覽:940
馬丁靴補色解壓 瀏覽:565
在設置app上怎麼找到個人熱點 瀏覽:754
按照檔案號生成文件夾 瀏覽:1000
程序員轉方向 瀏覽:111
lol敏捷加密 瀏覽:882
傳統公司眼中的加密貨幣 瀏覽:430
電腦圖標又出現文件夾怎麼去掉 瀏覽:964
排序演算法c和a 瀏覽:418
手機拍照上傳android 瀏覽:343
linux壓縮率 瀏覽:614
電腦瀏覽器加密埠 瀏覽:536
單片機線性電源 瀏覽:268
韓國雲伺服器評測 瀏覽:740
python輸出hello 瀏覽:594
如何在最左側添加文件夾 瀏覽:500