1樓:匿名使用者
注意2個基本概念:
strlen是計算字串『有效長度』的;
轉義字元,必須以「\」開頭,特殊常用的有一個『轉義字元表』。符合這個**中列舉的『算1個字元長度』。
本題中:
\n是換行,\\是「\」,均屬於**內容;
而對於數字的表示:\number才表示一個,即\012才表示一個長度,\1也是一個長度,且表示對應ascii字元編號為1的符號。
由於此題中,是\n012,即『\』與n組和成『固定』的轉義字元「回車」,所以對其後的012不起作用,成為3個字元長度了。如果沒有n,則如上所說就是1個字元長度了!
所以本題分析為:
i、b、m、\n、0、1、2、\1、\\
共9個字元長度!
2樓:匿名使用者
printf(「%d\n」,strlen(「ibm\n012\1\\」));
一句,我們可以簡化一下:
strlen(「ibm\n012\1\\」)是求字串「ibm\n012\1\\」的長度,注意轉義字元有\n \1 \\分別是換行符、ascii碼為1的字元、反斜槓。所以字串的長度為9
原句即printf(「%d\n」,9);
結果當然是輸出9啦~
轉義字元,必須以\開頭
3樓:匿名使用者
i、b、m、\n、0、1、2、\1、\\
\n是換行
\1是對應ascii字元編號為1的符號
\\是\
在引號內012就是012三個字元,\012才表示一個。
以下程式的輸出結果是mainint a,b,c int s,w,t s w t 0 a 1,b 3,c
程式最後的輸出語句有誤,其一,三個 d連在一起寫而中間沒有空位,會導致輸出連到一起 其二要輸出值的變數要寫在雙引號外面,寫到雙引號裡面會照 原樣輸出字母而不是變數的值。如下修改後會輸出 2 0 0 main else if c 0 w a b else t c printf d d d s,w,t ...
下述程式段的輸出結果是int x 10 int y xprintfd,dxy),y答案是
先放張圖,規律bai很容易看出來吧 du首先,逗號 zhi運算子是 dao取右邊 這裡涉及到引數的求回值順序,即確定答最右側y 輸出是5後,自增1,導致下一步中間y 輸出是6,之後再自增1,最後y的輸出自然就是7。是不是眼熟,這不就是棧嘛,後進先出,這題不太會考察,出題人估計都沒想到這一層,只是單純...
執行以下程式後,輸出的結果是mainint y 10 do ywhileyprintfd n ,y
選ddo while語句 先執行do裡面的迴圈體,再去判斷while條件是否成立,如果成立,一直執行下去,直到不成立終止迴圈 選d.c語言書上寫有,do 語句 while 表示式 其中語句是迴圈體,先執行後判斷,先執行一次指定的迴圈體語句,然後判別表示式,當表示式的值為非零 真 時,返回重新執行迴圈...