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...