C語言的一道題 不知道哪裡錯了 請高手指教一下

時間 2023-04-28 20:35:09

1樓:匿名使用者

乙個外部函式返回值要麼是乙個型別的數字或字元或要麼事陣列或字串的首位址,而你return a[i]返回的好似你輸入的最後乙個字元。

我將你的程式改了一下,你看看:

#include ""

char mygets()

void myputs(char b[10])void main()

2樓:匿名使用者

return a[i];

i已經指向最後一位了。

3樓:匿名使用者

問題出在 對for迴圈的理解。

在跳出for迴圈以後,遍歷已經超出了範圍。(很好理解:否則還會繼續遍歷。) 因此兩處return的下標都應該是 i - 1 而不是 i.

c語言一道程式設計題,求大神給看哪錯了

c語言初學者請教一下各位 請問一下 哪錯了

4樓:匿名使用者

你的是錯的。

例如 a = 8 b = 8-a = 0但是題目有要求 : a的最小「合發數」也必須是正整數,即其值至少是1;

因此 a = 8 b = 80 才行。

這道c語言題錯在**了

5樓:匿名使用者

概念錯誤。準確地說,邏輯位址變為實體地址的過程應該叫做記憶體位址變換,不是記憶體重定位。

在生成可行程式而沒有載入之前,所需記憶體尚未得到分配,因而記憶體位址未知,使用這些位址的程式**中的位址無法確定。在程式載入之後開始執行之前,這些記憶體位址就能夠確定了,這時需要由作業系統把無法確定的位址修改正確,這個過程叫做「記憶體重定位」。在程式開始執行之後,如果作業系統需要重新調整程式在記憶體中的位置,可以在程式暫停期間重行分配,這個過程也叫做「動態重定位」。

而位址變換發生在程式**執行期間。程式中使用的位址永遠是邏輯位址,而cpu使用的位址卻是實體地址。在每條指令執行期間,需要由微處理器專門的稱為「位址變換機構」的部件把邏輯位址轉換為實體地址。

雖然這一過程非常複雜,涉及微處理器的多方面機制以及特殊記憶體結構,但在現代計算機中,都是由硬體全自動高速完成的,所以並不影響程式的執行效率。

記憶體位由作業系統完成的,是針對程式的,是由作業系統軟體實現的,發生在程式載入之後、開始執行之前,或者當需要重新調整記憶體分配時暫停程式執行的暫停期間。位址變換是針對位址的,需要特殊的暫存器和記憶體結構,完全由處理機硬體完成,發生在程式的執行的過程中。乙個是針對整個程式中,乙個是針對程式中的大量位址的;乙個是軟體實現的,乙個是硬體實現;乙個在程式執行之前或暫停期間工作,乙個是執行過程之中:

很明顯,這是完全不同的兩個概念。

6樓:孫永超

(d)重定位。

根據重定位的時機不同,又分為靜態重定位(裝入記憶體時重定位)和動態重定位(程式執行時重定位)

關於c語言有幾道題不會,求助大神

7樓:

c正確,選c——下標從0開始,所以a[2]的值是3,a[a[2]]就是a[3],顯然a[3]是第4個數值是。

沒有正確選項,輸出是23cc

acc沒有正確選項,應該是fun(10,;這種形式b

一道c語言問題 我的錯了 看看為什麼

8樓:紅顏不求得

實話實說,你的**寫得「很臭」

1.變數那麼多,名字卻隨便取。

2.資料的輸入和資料的處理同時處理,雖然這麼做可以「稍稍」提高一下效率,但就你這個程式量,根本不需要考慮效率上的問題,你應該多考慮考慮「**的邏輯體現」方面的問題!

3.請搞清楚你要輸入的「一行文字」是不超過80個字元,還是確定了就是80個字元!另外,請給作為字串結尾的'\0'也留乙個位置!

4.你的**問題出在內嵌for迴圈的判斷條件上,你寫的是j<=79||j!='0',你自己問問自己為什麼有 j!='0'??

c語言的一道題不會做了,求大神幫一下

一道c語言改錯題,求大神

9樓:聽不清啊

把第乙個for 迴圈改為:

for(i=2;i<20;i++)

f[ii=f[i-1]+f[i-2];

一道c語言問題求解答 20

10樓:科技愛好分享

這道題考的是動態規劃的思想。

**思路如下:

假設我們要鋪長度為10,那麼怎麼鋪呢?有兩種鋪法。

長度為9,再加一塊長度為1的。

長度為8,再加一塊長度為2的。

由此我們可以得知鋪n的情況等於鋪n-1的情況+鋪n-2的情況。

公式 :f(n)=f(n-1)+f(n-2)。

11樓:gta小雞

斐波那契數列。

f(n) =f(n-1) +f(n-2)

鋪滿n格地板的方法數=鋪滿n-1格地板的方法數+鋪滿n-2格地板的方法數。

一道C語言程式設計題 哪裡有錯,c語言一道程式設計題,求大神給看哪錯了

c語言沒有bool型別 程式的目的是統計乙個大數字中不重複的數字 已經修正如下 include int main void int digit,i long n printf enter a number scanf ld n while n 0 printf repeated digit s fo...

一道c語言的題,一道C語言的題

當你輸入01回車後輸出 another number number 因為 第一次scanf接收0,則執行case 0 printf another n 後由於沒有break而繼續執行 case 1 printf number n 所輸出了another number 接著由for迴圈再次使scanf...

C語言的一道題,謝謝 一道 c語言題目 謝謝

include double factorial int m double 可以換成其他的型別,但是注意值的範圍。return result int main 本來想用c 寫,但一看標題要求用c,以下 就是c的 在下通過測試。include void result int n 宣告函式int mai...

一道c語言的指標題改錯,跪求,一道C語言的指標題改錯,跪求!

如果用乙個指標指向乙個陣列,請使用malloc分配空間例如你的 a,這是乙個野指標,它指向任何你不可控制的記憶體空間,讓這個指標偏移sizea個sizeof int 絕不可能 第乙個for迴圈執行第一遍的時候a已經超界 c d不指向任何空間,執行 c p 同樣會越界修改 include includ...

一道c語言的程式題答案是,一道c語言的程式題 答案是

k是函式fun的返回值 而fun這個函式是恆定返回0的 所以輸出的值必然是0 int fun int a 由於a 2 fun a a 是前加加,所以先加一再返回,所以傳遞過去的是a 3,括號表示式計算順序是從左到右,然後整個表示式返回的是最右邊表示式的值,所以返回a 0 k 0 所以有下面的揭露 i...