C語言問題

時間 2021-10-15 00:23:17

1樓:匿名使用者

我也是菜鳥

#include

void main()

} printf("\n");

} 那麼輸出應該是 空,6,空,4

不知道對不對

2樓:匿名使用者

好象是這麼回事,錯誤比較多.括號都忘記了加全

3樓:匿名使用者

668977

2: 66(執行了case1, case2)4: 8(執行了case2)

7: 9(執行了default)

3: 77(執行了case1,case2)

4樓:汪江

你在上面輸入的程式很多符號都沒有注意輸入法的區別,c語言程式只能用一種輸入法狀態,否則出錯。如;和;乙個是英文輸入,乙個是中文輸入。這在c語言裡被看成是錯誤的。

輸出函式「printf」不是「print」,這個錯誤就會導致程式不能執行。而且你的程式中如:「case1、case2……」是不對的,應為case'1'……。

switch函式中的case後的內容為你輸入的字元,因為你輸入的是字元。當你輸入其中的某一種字元時,程式執行所在case中的內容。

5樓:

你自己在vc6.0上面試一下就知道了

6樓:藍色草原

錯誤太多了。對比下面程式自己看看吧~~

#include

void main()

} printf("\n");}

7樓:教科書般的褻瀆

在我抱怨之前,先告訴你答案吧, 668977 !沒看錯吧?就是 668977 !

好了,我要抱怨了:

首先,你的程式錯誤太多了。看樣子是個c程式(原諒我最近在學c++),c語言是不太強調返回值一說的,但你至少要在main前面加上void,告訴編譯器,你不要返回值。初看一下你的程式,我必須告訴你,不要在程式裡面使用中式的標點符號,應該用英文的,如 ( ,.

;: ) ,而不是(,。;:

),在編譯器裡顯示就會有區別了。另外,括號一定要匹配,這時常犯的錯誤之一。你看看你的第五行(我估計是打掉了吧?

:) ),一般說來最好在編譯之前檢查一下。再者,我明白你想設迴圈條件結束為,不過應該是\n,而不是/n。

還有,通常而言,在乙個有輸出的迴圈裡面,最好在迴圈結束的時候新增\n,以免顯示的資料排在一起,就像這題668977,實際上是66,8,9,77四個輸出。我猜測你的最後乙個printf函式應該在迴圈裡面,所以(哦,對了,是printf,不是print,小錯誤啊)我改了一下你的程式。(修正,修正而已)

#include

void main()

printf("\n");}}

下面就講一下具體的內容吧。

你知道的,getchar()是輸入下乙個字元,getchar()是輸出下乙個字元。你輸入的是2473,迴圈先輸入字元『2』,然後進入switch語句,執行出c-『2』,即2-2=0。然後從case語句的第乙個依次查詢,case 0,符合要求,執行它,可惜這是乙個空語句,由於沒有break;(注意,case語句沒有break;結尾的話,它會繼續執行下乙個case語句,而不管條件是否符合,我想你從書裡面看到過的,但我還是羅嗦一下)接下來就執行case 1,putchar(c+4),c值為2,即2+4=6,輸出6,沒有break;繼續執行下面的case 2,又是輸出乙個6,有break;,跳出switch語句,輸出\n,所以是66,後面的一如之前,最後輸出為66 8 9 77

整個過程不算太複雜吧。

我看了,你是初學者,我也差不多。我非常推薦你去看一下國外的書,《 c primer plus 》,現在應該是第五版了,有中文版的,經典教材。再或者是譚浩強的c語言程式設計,我就是看的他的,倒不一定很好,主要是因為它是我們的教材書,但是非常適合入門。

自學是一件辛苦的事,持之以恆很難。學好語言的方法是實際地編寫原始碼,然後自己除錯,實在不明白再問別人。而不要這樣,寫好**問別人輸出什麼?

為什麼不自己編譯呢?

c語言問題,C語言問題。

考驕 用指標將兩個字串連結接起來,前一個while迴圈,確定s1字串走完,第二個while開始將s1的逐個字元複製給s1走完,也就是末尾,這樣就可以把字串都匯入到s1中 最後一個空寫的應該寫return s1 長魚修韋 很久沒碰這東西了。我來解釋下 第一個while的迴圈是為了讓指標指向第一個字串的...

C語言問題,c語言問題?

自我程式設計 列印輸出乙個ok。因為前面迴圈for語句有分號結束。所以後面的printf語句不在迴圈內,不受迴圈語句影響。 理佑平鄲胭 結果是22 7 7 8 22 你可以將 i i i i是先 1再計算,還有這裡的運算順序是從左到右,所以應該是7 7 i 14 8 22 前兩個相加時,i先加1,加...

c語言問題,C語言問題?

這個問題說難不難,但理解可能有點玄乎而已,但是打個比方來理解就太容易掌握啦!就是說scanf的認定讀取,比如你單純的scanf c ch 那麼實際上已經認定了第乙個字元出現就把它賦予給ch,如果是你的scanf c 前面多了乙個空格,所以就認定了出現第乙個空格後的字元賦予給ch,如果寫成這樣 sca...