//程式輸出什么?
#include <stdio.h>
int main()
{
// \62被決議成一個轉義字符
printf("%d\n", strlen("c:\test\628\test.c"));
return 0;
}
這道題看似簡單,但老程式猿也可能犯錯,這道題充分考察了對轉義字符的理解,
幾位同學一起做這道題!
張三同學認為:18個
李四同學認為:16個
王五同學認為:13個
從小就機靈的小宇同學認為:14個
大家認為那位同學做對了呢?那必然是聰明、帥氣的小宇同學啦!(自夸一波,大家一件三連哦!)
張三同學做錯的因為不懂轉義字符!把每一個字符都按照表面的數量去數!
李四同學做錯是因為他只明白\t是一個水平制表符,算一個字符,
王五同學比他李四同學多明白了\ddd是表示1~3個八進制的數字,但他還是錯了,
聰明的小宇同學敏銳的發現,清楚的明白\628,絕對不是一個八進制數,八進制數不可能出現8,而是八進制數\62+字符‘8’,
ps:\t只表示一個字符,雖然最后會輸出一個包含多個空格的tab
最后孩子給大家列出常用的轉義字符!
希望對大家有幫助!
\“ 用于表示一個字串內部的雙引號
\\ 用于表示一個反斜杠,防止它被解釋為一個轉義序列符,
\a 警告字符,蜂鳴
\b 退格符
\f 進紙符
\n 換行
\r 回車
\t 水平制表符
\v 垂直制表符
\ddd ddd表示1~3個八進制的數字, 如: \130 X
\xdd dd表示2個十六進制數字, 如: \x30 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/384529.html
標籤:其他
