最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言 詳細講解接續(xù)符和轉(zhuǎn)義符的使用

 更新時間:2022年04月19日 16:31:22   作者:清風自在 流水潺潺  
接續(xù)符是用來告訴編譯器行為的符號,那編譯器遇到接續(xù)符是什么行為呢,就是去掉接續(xù)符,然后把下一行連接到現(xiàn)在這行上面,轉(zhuǎn)義符是主要用于表示無回顯字符,也用于表示常規(guī)字符,轉(zhuǎn)義符必須放在單引號或者雙引號里面

一、接續(xù)符的意義

C語言中的接續(xù)符(\)是指示編譯器行為的利器

下面看一段接續(xù)符的代碼(代碼1-1):

#in\
clud\
e <st\
dio.h>
in\
t m\
ain(\
)
{
pri\
ntf\
    (\
    "Hello AutumnZe.\n"
    )\
    ;  
ret\
urn 0;
}

可以看到上述代碼寫的很凌亂,但是可以正常編譯運行,如下:

二、接續(xù)符的使用

  • 編譯器會將反斜杠剔除,跟在反斜杠后面的字符自動接續(xù)到前一行
  • 在接續(xù)單詞時,反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格
  • 接續(xù)符適合在定義宏代碼塊時使用

所以說代碼1-1可以寫成:

#include <stdio.h>
 
int main()
{
printf    (    "Hello AutumnZe.\n"
    )    ;
    
return 0;
}

下面看一個接續(xù)符的應(yīng)用程序:

#include<stdio.h>
 
#define SWAP(a,b)       \
{                       \
        int temp = a;   \
        a = b;          \
        b = temp;       \
}
 
int main()
{
    int a = 1;
    int b = 2;
    int c = 3;
    
    SWAP(a,b);
    
    printf("a = %d, b = %d\n", a, b);
    
    SWAP(b,c);
    
    printf("b = %d, c = %d\n", b, c);
    
    return 0;
}

可以看到,通過接續(xù)符來進行宏定義,代碼看起來非常優(yōu)美。下面為輸出結(jié)果:

三、轉(zhuǎn)義符的意義

C語言中的轉(zhuǎn)義符(\)主要用于表示無回顯字符,也可用于表示常規(guī)字符

\n回車換行
\t橫向跳到下—制表位置
\v豎向跳格
\b退格
\r回車
\f走紙換頁
\\反斜杠符"\"
\'單引號符
\a鳴鈴
\ddd1~3位八進制數(shù)所代表的字符
\xhh1~2位十六進制數(shù)所代表的字符

四、轉(zhuǎn)義符的使用

當反斜杠(\)作為轉(zhuǎn)義符使用時必須出現(xiàn)在單引號或者雙引號之間

如下:

下面看一段轉(zhuǎn)義字符的使用示例:

#include <stdio.h>
 
int main()
{
    char enter = '\n';
    char* p = "\141\t\x62";
    printf("%s", p);
    printf("%c", enter);
    return 0;
}

141 的十進制表示為 97, 0x62 的十進制表示為 98,所以打印出來的結(jié)果如下:

五、轉(zhuǎn)義符和其他的語法混合

  • 獎項:Best of Show
  • 功能:處理三種文件格式(PGM、PPM和ASCII Art)的降采樣工具,降低文件分辨率
  • 作者:Google 華裔工程師 Don Hsi-Yun Yang

下面是源碼,看起來像一個小女孩的臉:

                                       /*
                                      +
                                     +
                                    +
                                    +
                                    [         >i>n[t
                                     */   #include<stdio.h>
                        /*2w0,1m2,]_<n+a m+o>r>i>=>(['0n1'0)1;
                     */int/**/main(int/**/n,char**m){FILE*p,*q;int        A,k,a,r,i/*
                   #uinndcelfu_dset<rsitcdti_oa.nhs>i/_*/;char*d="P%"   "d\n%d\40%d"/**/
                 "\n%d\n\00wb+",b[1024],y[]="yuriyurarararayuruyuri*daijiken**akkari~n**"
          "/y*u*k/riin<ty(uyr)g,aur,arr[a1r2a82*y2*/u*r{uyu}riOcyurhiyua**rrar+*arayra*="
       "yuruyurwiyuriyurara'rariayuruyuriyuriyu>rarararayuruy9uriyu3riyurar_aBrMaPrOaWy^?"
      "*]/f]`;hvroai<dp/f*i*s/<ii(f)a{tpguat<cahfaurh(+uf)a;f}vivn+tf/g*`*w/jmaa+i`ni("/**
     */"i+k[>+b+i>++b++>l[rb";int/**/u;for(i=0;i<101;i++)y[i*2]^="~hktrvg~dmG*eoa+%squ#l2"
     ":(wn\"1l))v?wM353{/Y;lgcGp`vedllwudvOK`cct~[|ju {stkjalor(stwvne\"gt\"yogYURUYURI"[
     i]^y[i*2+1]^4;/*!*/p=(n>1&&(m[1][0]-'-'||m[1][1]  !='\0'))?fopen(m[1],y+298):stdin;
      /*y/riynrt~(^w^)],]c+h+a+r+*+*[n>)+{>f+o<r<(-m]    =<2<5<64;}-]-(m+;yry[rm*])/[*
       */q=(n<3||!(m[2][0]-'-'||m[2][1]))?stdout /*]{     }[*/:fopen(m[2],d+14);if(!p||/*
       "]<<*-]>y++>u>>+r >+u+++y>--u---r>++i+++"  <)<      ;[>-m-.>a-.-i.++n.>[(w)*/!q/**/)
    return+printf("Can "  "not\x20open\40%s\40"    ""       "for\40%sing\n",m[!p?1:2],!p?/*
  o=82]5<<+(+3+1+&.(+  m  +-+1.)<)<|<|.6>4>-+(>    m-        &-1.9-2-)-|-|.28>-w-?-m.:>([28+
 */"read":"writ");for  (   a=k=u= 0;y[u];  u=2    +u){y[k++   ]=y[u];}if((a=fread(b,1,1024/*
,mY/R*Y"R*/,p/*U*/)/*          R*/ )>/*U{  */   2&& b/*Y*/[0]/*U*/=='P' &&4==/*"y*r/y)r\}
*/sscanf(b,d,&k,& A,&           i,  &r)&&        !   (k-6&&k -5)&&r==255){u=A;if(n>3){/*
]&<1<6<?<m.-+1>3> +:+ .1>3+++     .   -m-)      -;.u+=++.1<0< <; f<o<r<(.;<([m(=)/8*/
u++;i++;}fprintf   (q,    d,k,           u      >>1,i>>1,r);u  = k-5?8:4;k=3;}else
  /*]>*/{(u)=/*{   p> >u  >t>-]s                >++(.yryr*/+(    n+14>17)?8/4:8*5/
     4;}for(r=i=0  ;  ;){u*=6;u+=                (n>3?1:0);if    (y[u]&01)fputc(/*
      <g-e<t.c>h.a r  -(-).)8+<1.                 >;+i.(<)<     <)+{+i.f>([180*/1*
      (r),q);if(y[u   ]&16)k=A;if                               (y[u]&2)k--;if(i/*
      ("^w^NAMORI; {   I*/==a/*"                               )*/){/**/i=a=(u)*11
       &255;if(1&&0>=     (a=                                 fread(b,1,1024,p))&&
        ")]i>(w)-;} {                                         /i-f-(-m--M1-0.)<{"
         [ 8]==59/* */                                       )break;i=0;}r=b[i++]
            ;u+=(/**>>                                     *..</<<<)<[[;]**/+8&*
            (y+u))?(10-              r?4:2):(y[u]         &4)?(k?2:4):2;u=y[u/*
             49;7i\(w)/;}             y}ru\=*ri[        ,mc]o;n}trientuu ren (
             */]-(int)'`';}             fclose(          p);k= +fclose( q);
              /*] <*.na/m*o{ri{                       d;^w^;}  }^_^}}
               "   */   return  k-                -1+   /*\'   '-`*/
                     (   -/*}/   */0x01        );       {;{    }}
                            ;           /*^w^*/        ;}

下面為輸出結(jié)果:

六、小結(jié)

C語言中的反斜杠 (\) 同時具有接續(xù)符和轉(zhuǎn)義符的作用

  • 作為接續(xù)符使用時可直接出現(xiàn)在程序中
  • 作為轉(zhuǎn)義符使用時需出現(xiàn)在單引號或雙引號之間

到此這篇關(guān)于C語言 詳細講解接續(xù)符和轉(zhuǎn)義符的使用的文章就介紹到這了,更多相關(guān)C語言 接續(xù)符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言之實現(xiàn)輾轉(zhuǎn)相除法的兩種方式

    C語言之實現(xiàn)輾轉(zhuǎn)相除法的兩種方式

    這篇文章主要介紹了C語言之實現(xiàn)輾轉(zhuǎn)相除法的兩種方式,具有很好的參考價值,希望對大家有所幫助,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Lua和C/C++互相調(diào)用實例分析

    Lua和C/C++互相調(diào)用實例分析

    今天小編就為大家分享一篇關(guān)于Lua和C/C++互相調(diào)用實例分析,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 一文掌握scanf的用法實例小結(jié)

    一文掌握scanf的用法實例小結(jié)

    scanf的基本用法除了常規(guī)的輸入操作外還有一些特殊的用法,使用這些用法可以很方便的在輸入中讀取想要的數(shù)據(jù),這篇文章主要介紹了scanf的用法,需要的朋友可以參考下
    2023-12-12
  • C++實現(xiàn)特殊矩陣的壓縮存儲算法

    C++實現(xiàn)特殊矩陣的壓縮存儲算法

    在實際存儲時,會發(fā)現(xiàn)矩陣中有許多值相同的數(shù)據(jù)或有許多零數(shù)據(jù),且分布呈現(xiàn)出一定的規(guī)律,稱這類型的矩陣為特殊矩陣。本文將利用C++實現(xiàn)特殊矩陣的壓縮存儲,感興趣的可以了解一下
    2022-08-08
  • 詳解C語言內(nèi)核中的鏈表與結(jié)構(gòu)體

    詳解C語言內(nèi)核中的鏈表與結(jié)構(gòu)體

    Windows內(nèi)核中是無法使用vector容器等數(shù)據(jù)結(jié)構(gòu)的,當我們需要保存一個結(jié)構(gòu)體數(shù)組時,就需要使用內(nèi)核中提供的專用鏈表結(jié)構(gòu)。本文分享了幾個內(nèi)核中使用鏈表存儲多個結(jié)構(gòu)體的通用案例,希望對你有所幫助
    2022-09-09
  • C/C++詳解實現(xiàn)二層轉(zhuǎn)發(fā)

    C/C++詳解實現(xiàn)二層轉(zhuǎn)發(fā)

    數(shù)據(jù)鏈路層是開放系統(tǒng)互連 (OSI) 模型中的第二層,該層用于通過 LAN 等單一網(wǎng)絡(luò)進行通信的節(jié)點,第二層數(shù)據(jù)包不能從一個網(wǎng)絡(luò)傳輸?shù)搅硪粋€網(wǎng)絡(luò)。而二層轉(zhuǎn)發(fā)是根據(jù)報文的目的MAC直接進行轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)過程中不用對報文的頭部做任何的修改
    2022-05-05
  • C語言交換奇偶位與offsetof宏的實現(xiàn)方法

    C語言交換奇偶位與offsetof宏的實現(xiàn)方法

    offsetof()是C自帶的一個宏,它的作用就是計算結(jié)構(gòu)體成員相對于首地址處的偏移量,下面這篇文章主要給大家介紹了關(guān)于C語言交換奇偶位與offsetof宏的實現(xiàn)方法,需要的朋友可以參考下
    2023-02-02
  • C語言實現(xiàn)二叉樹的示例詳解

    C語言實現(xiàn)二叉樹的示例詳解

    這篇文章主要為大家詳細介紹了C語言中二叉樹的算法實現(xiàn)以及二叉樹的遍歷算法與應(yīng)用,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-06-06
  • php正則表達式的基本語法總結(jié)

    php正則表達式的基本語法總結(jié)

    以下是對php正則表達式的基本語法進行了詳細的總結(jié)介紹,需要的朋友可以過來參考下
    2013-10-10
  • c語言算術(shù)運算符越界問題解決方案

    c語言算術(shù)運算符越界問題解決方案

    大量的安全漏洞是由于計算機算術(shù)運算的微妙細節(jié)引起的, 具體的C語言, 諸如符號數(shù)和無符號數(shù)之間轉(zhuǎn)換, 算術(shù)運算的越界都會導致不可預知的錯誤和安全漏洞, 具體的案例數(shù)不勝數(shù).
    2012-11-11

最新評論

崇明县| 高台县| 鄂伦春自治旗| 靖远县| 钟祥市| 罗江县| 香格里拉县| 怀安县| 赤城县| 武清区| 岚皋县| 中江县| 南昌县| 大悟县| 乡宁县| 西安市| 湖北省| 宁城县| 富平县| 九江县| 米脂县| 新余市| 西宁市| 广水市| 安福县| 文化| 黄骅市| 鸡西市| 晴隆县| 馆陶县| 象州县| 汝州市| 颍上县| 察雅县| 巴林右旗| 河池市| 南汇区| 资中县| 隆德县| 红安县| 临漳县|