DEV Community

codemee
codemee

Posted on • Edited on

C/C++ 算符/字符的替代表示法

今天第一次看到, 為了在某些僅支援 ISO/IEC 646 編碼的環境上撰寫 C/C++ 程式碼, 所以有些算符以及字符有替代的表示方法, 例如 && 可以改用 and, || 可以改用 or, 或是用 <%%> 替代 {} 等等, 所以以下的 C 程式碼是可以編譯執行的:

#include<stdio.h>
#include<iso646.h>

int main()
<% // {
  int a = 10, b= 20;
  if(a and b) // a && B
    printf("OK");
  return 0;
%> // }
Enter fullscreen mode Exit fullscreen mode

同樣的道理, 以下的 C++ 程式碼也是可以執行的:

// Online IDE - Code Editor, Compiler, Interpreter

#include<iostream>

int main()
<%
  int a = 10, b= 20;
  if(a and b)
    std::cout << "OK";
  return 0;
%>
Enter fullscreen mode Exit fullscreen mode

如果想知道有哪些替代表示法可用, C 可以參考這裡, C++ 可以參考這裡。要注意的是, C 是採用巨集定義的方式提供算符的替代表示法, 所以要先引入 iso646.h 表頭檔才能使用, 不然編譯會出現語法錯誤。

當然, 這只是為了特殊環境下的設計, 如果用這些替代表示法撰寫程式, 應該絕大多數人都看不懂。

Top comments (1)

Collapse
 
freecodez profile image
Freecodez