[previous] 3601 [next] Trigraphs (??x) are an ISO feature.
Constants REFERENCE - ISO:C90-5.2.1.1 Trigraph Sequences

A trigraph sequence has been used.

Trigraphs exist to cater for certain European keyboards which do not support some of the basic characters used in standard C.

Trigraphs exist for the characters #   [   \   ]   ^   {   |   }   ~

For example:


/*PRQA S 2017,2211,3123,3205,3211,3408,3610,3625 ++*/


char tr1 = '??=';           /* Message 3601           # */
char tr2 = '??(';           /* Message 3601           [ */
char tr3 = '??/??/';        /* Message 3601 and 3601  \ */
char tr4 = '??)';           /* Message 3601           ] */
char tr5 = '??'';           /* Message 3601           ^ */
char tr6 = '??<';           /* Message 3601           { */
char tr7 = '??!';           /* Message 3601           | */
char tr8 = '??>';           /* Message 3601           } */
char tr9 = '??-';           /* Message 3601           ~ */

extern void foo(void)
??<                         /* Message 3601 */
    char ch = '??/x0A';     /* Message 3601 */
??>                         /* Message 3601 */


MISRA C:2012 Rules applicable to message 3601:

Rule-4.2  (Advisory) Trigraphs should not be used


QA·C Source Code Analyser 8.1
MISRA C:2012 Compliance Module 1.0
© 2012 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index | MISRA C:2012 Rule Index Contents