日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言再学习 -- 三字母词(转)

發(fā)布時(shí)間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言再学习 -- 三字母词(转) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

參看:C語言中的三字母詞(trigraph)

ANSI?C標(biāo)準(zhǔn)中,定義了9個(gè)三字母詞(trigraph),三字母詞就是幾個(gè)字符的序列,合起來表示另一個(gè)字符。三字母詞使C語言環(huán)境可以在缺少一些必需字符的字符集(比如,一些非常老式的鍵盤上沒有[]{}#\^~|)上實(shí)現(xiàn)。也許是由于這些字符集我們基本上用不到,所以在大多數(shù)C語言的書籍中,我們都看不到對(duì)三字母詞的講解。下圖列出了9個(gè)三字母詞以及它們所代表的的字符。


源代碼中的“三字母詞”,在編譯階段會(huì)被替換為“對(duì)應(yīng)的字符”。對(duì)于以“?”開頭的字符序列,如果不能與上面9個(gè)匹配,編譯器將保持原狀;一旦匹配,編譯器就會(huì)做替換。 下面是我們很容易犯的一個(gè)錯(cuò)誤(摘自《C和指針》):

#include <stdio.h> int main (void) {printf("??( \n");printf("??) \n");return 0; }root@# gcc test.c test.c: 在函數(shù)‘main’中: test.c:4:10: 警告: 三元符 ??( 被忽略,請(qǐng)使用 -trigraphs 來啟用 [-Wtrigraphs] test.c:5:10: 警告: 三元符 ??) 被忽略,請(qǐng)使用 -trigraphs 來啟用 [-Wtrigraphs]root@# gcc -trigraphs test.c 輸出結(jié)果: [ ] 注意 :由于編譯器的種類各樣,對(duì)ANSI C的支持也不一樣,所以可能會(huì)有些C編譯器不處理“三字母詞”,會(huì)將它們當(dāng)做普通的字符串來處理。 以上測(cè)試是在VC++ 6.0下進(jìn)行的,對(duì)于GCC編譯器,需要在編譯的時(shí)候添加選擇"-ansi"或者"-trigraphs"。?

總結(jié)

以上是生活随笔為你收集整理的C语言再学习 -- 三字母词(转)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。