當前位置:首頁 » 編程語言 » c語言邏輯錯誤

c語言邏輯錯誤

發布時間: 2022-05-27 02:11:06

c語言邏輯錯誤

在 你想繼續嗎 那裡,你輸入了y回車,'y'被存到x里,回車被當做輸入存進了下一次循環的c變數里
其實scanf %c 特別煩,總要處理回車的問題 你用%s讀入字元串就行了 自動忽略所有空格回車

② c語言中出現邏輯錯誤時,我們使用什麼方法可以快速找到邏輯錯誤發生的位置(哪一行

你說的邏輯錯誤是指語法沒錯誤,而是代碼實現的邏輯錯誤么
這個的話沒法在編譯鏈接過程中發現
只能靠你自己來查找,首先需要自己對程序結構熟悉,還有使用斷點,查看程序變數

③ 求教C語言怎麼檢查自己編寫的函數里邊的邏輯錯誤,比如說watch和debug

如果你修過軟體工程,就會知道邏輯錯誤,主要是靠人工檢查來做的,和你具體的語言實現沒有關系。有各種方法或流程,比如流程圖檢查、程序走查、極限編程等,可以幫助你檢查程序邏輯。
首先你要知道你的模塊的作用是什麼,比如這里的 digits() 是求整數中的數字個數,然後可以用邊界值演算的方法來檢查它的實現是否有問題,在紙上演算可以,用 debug 和 watch 也可以,主要是跟蹤幾個關鍵變數 a, j, i 在各種輸入條件(使用特徵和邊界條件比如 num=個位數、=負數的情況)的運行時值。

④ C語言,找錯誤(邏輯錯誤)

1.在函數:int
EnterScore
(
int
P_array[]
)定義中:
DO循環中:scanf
(
"%d"
,
P_array[count]
)
;
語句
有錯誤,應為:scanf
(
"%d"
,
&P_array[count]
)
;
2.在函數:int
EnterScore
(
int
P_array[]
)定義中:
DO循環容易造成數組下標越界。如果你在前80個成績輸入
中都沒有輸入-1的話就會訪問到P_array[80]這個元素,
但是實際上該數組最大的元素為:P_array[79],這會
破壞內存,甚至引起操作系統的崩潰。
3.在函數:void
find
(
int
P_array[]
,
int
count
)
定義中,如果傳入的數據:count大於數組的總元素個
數並且沒有滿足for語句中的if條件的數據時,
也會發生第2點的錯誤。

⑤ C語言的語法錯誤和邏輯錯誤的區別

語法錯誤: 在編譯的時候會提示你。比如說:for(i=0,i<10,i++)
在編譯的時候會提示你錯誤,要把逗號改成分號。
邏輯錯誤:沒有錯誤提示,能運行,但是達不到自己想要的結果。

⑥ c程序有邏輯錯誤,則不可能連接生成exe文件

c程序有邏輯錯誤,是不影響其連接生成exe文件的。
c程序有語法錯誤,則不可能連接生成exe文件。

⑦ (C語言編程,麻煩大佬幫忙看看哪裡有邏輯錯誤)🙏

提示:個位只需要用x%10就可以算出來,不需要象你寫的這復雜
錯誤1:你的符合條件的元素個數是由count或者i來計算的,所以在輸出的時候就可以用比如i<count來獲取,而不能用i<N
錯誤2:你輸出的時候數字之間沒有間隔,可以改為比如printf("%d\t",a[i]);

⑧ C語言程序邏輯錯誤

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

⑨ C語言編程邏輯錯誤。。求教!

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

⑩ C語言編程邏輯錯誤。。求教!

#include<stdio.h>
#include <math.h>
#define N 10
int main()
{
float a[N],*p,min;
int i=0,j=0;
p=a;
printf("請輸入10個數組元素:");
for(i=0;i<N;i++)
scanf("%f",&p[i]);
min=*p;
for (j=1,i=0;j<N;j++)
if (min>=*(p+j))
{
min=*(p+j); //把最下的找出,並復制給min
i=j; //把下標賦給i
}
printf("數組最小值下標為:%d\n",i);
printf("絕對值最小的數字為:%f\n",min);
}
這樣就可以了

你的錯誤在: for (j=1,i=0;j<N;j++)
if (min>*(p+j)) i++;
如果第一個數位最大,你又把第一個數賦為最小,那麼i++執行9次,所以你需要涮洗最小值,並且此時的最小值得下標賦給i,i也是在不斷刷新,最後得到你想要的結果
況且你用void minfabs(),在主函數中且沒有地址的傳遞,這里您看一下「數組元素做形參」,對你會有幫助

熱點內容
戀舞刷分腳本se下載 發布:2025-02-12 18:56:53 瀏覽:8
c語言大小寫轉換程序 發布:2025-02-12 18:55:23 瀏覽:524
三星耳機壞了怎麼配置 發布:2025-02-12 18:54:46 瀏覽:975
簡易編程語言 發布:2025-02-12 18:48:07 瀏覽:523
咋上傳視頻 發布:2025-02-12 18:45:50 瀏覽:287
python的包機制 發布:2025-02-12 18:45:49 瀏覽:448
sqlserver網路實用工具 發布:2025-02-12 18:38:56 瀏覽:767
劍與家園新伺服器什麼時候轉國 發布:2025-02-12 18:38:05 瀏覽:434
php發送email 發布:2025-02-12 18:38:02 瀏覽:297
掃描二維碼密碼多少 發布:2025-02-12 18:23:35 瀏覽:51