c/c++ trigraph

原创 2007年10月06日 19:55:00
一下内容摘自msdn:
Trigraphs

The source character set of C source programs is contained within the 7-bit ASCII character set but is a superset of the ISO 646-1983 Invariant Code Set. Trigraph sequences allow C programs to be written using only the ISO (International Standards Organization) Invariant Code Set. Trigraphs are sequences of three characters (introduced by two consecutive question marks) that the compiler replaces with their corresponding punctuation characters. You can use trigraphs in C source files with a character set that does not contain convenient graphic representations for some punctuation characters.

Table 1.1 shows the nine trigraph sequences. All occurrences in a source file of the punctuation characters in the first column are replaced with the corresponding character in the second column.

Table 1.1   Trigraph Sequences

Trigraph Punctuation Character
??= #
??( [
??/ /
??) ]
??’ ^
??< {
??! |
??> }
??- ~

A trigraph is always treated as a single source character. The translation of trigraphs takes place in the first translation phase, before the recognition of escape characters in string literals and character constants. Only the nine trigraphs shown in Table 1.1 are recognized. All other character sequences are left untranslated.

The character escape sequence, /?, prevents the misinterpretation of trigraph-like character sequences. (For information about escape sequences, see Escape Sequences.) For example, if you attempt to print the string What??! with this printf statement

printf( "What??!/n" );

the string printed is What| because ??! is a trigraph sequence that is replaced with the | character. Write the statement as follows to correctly print the string:

printf( "What?/?!/n" );

In this printf statement, a backslash escape character in front of the second question mark prevents the misinterpretation of ??! as a trigraph.

 

C语言中的三字母词(trigraph)

本文介绍了ANSI C标准中的三字母词(trigraph),包括三字母词的简单定义,作用,编程中可能会犯的一些错误,如何编译等,最后还留了一个简单的问题。...
  • ce123
  • ce123
  • 2013年07月07日 17:04
  • 3692

【C/C++】C++对C的扩展总结

之前一直在搞java开发,去年9月份开始,陆陆续续的公司来学校校招了,然后开始忙于校招。后来去了华为,签了约后开始写大论文,所以之后就一直没有更新自己的博客了,有些朋友留言说博客懒惰了,好久没写博客了...
  • eson_15
  • eson_15
  • 2017年02月21日 18:32
  • 1263

C和C++混编,c调用C++,c++调用C

摘抄一:   1.引言    C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变 量和函数所采用的编译和连接方式与C语言完全相同。作为一种...
  • ruglcc
  • ruglcc
  • 2013年05月10日 21:52
  • 1060

关于C/C++中的trigraph

转载自http://blog.sina.com.cn/s/blog_4b687eac01008ice.html,作者:小胖妞妞 今天看书看到这个词,书上没给解释,上网查了下,意思很"隐讳",...
  • u012468214
  • u012468214
  • 2013年11月01日 10:25
  • 622

关于C/C++中的trigraph,类似"??!"

今天看书看到这个词,书上没给解释,上网查了下,意思很"隐讳",不过总算是搞明白怎么回事了,呵呵,写下来~~~         先用简单的话讲一下什么是trigraph吧,这样不会一上来就是没人看得...
  • a787188834
  • a787188834
  • 2017年12月22日 10:25
  • 13

输入球心三维坐标及球半径求算球体的球面坐标数据(C/C++)

  • 2018年01月11日 17:07
  • 1KB
  • 下载

C/C++解决比赛日程表问题

  • 2018年01月11日 18:24
  • 606B
  • 下载

c/c++解决迷宫问题

  • 2018年01月11日 18:34
  • 818B
  • 下载

c/c++矩阵连乘问题

  • 2018年01月11日 18:28
  • 790B
  • 下载

C/C++解决八数码问题

  • 2018年01月11日 18:19
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c/c++ trigraph
举报原因:
原因补充:

(最多只允许输入30个字)