# 1. 作者序

廢話不多說，我們直接看程式碼吧。

{% code lineNumbers="true" %}

```c
E((ck?main((z?(stat(M,&t)?P+=a+'{'?0:3:
execv(M,k),a=G,i=P,y=G&255,
sprintf(Q,y/'@'-3?A(*L(V(%d+%d)+%d,0)
```

{% endcode %}

公主與王子他們從此過著幸福快樂的日子，劇終。

蛤，什麼？你說還沒把整個 C 語言程式設計給說清楚嗎？

好啦，老實說，我也不太確定上面那個程式碼範例可以做什麼。程式碼的來源是在 2001年的 [International Obfuscated C Code Contest](https://www.ioccc.org/)[1 ](https://beej.us/guide/bgc/html/split/footnotes.html#fn1)其中一段程式碼，有個很厲害的參賽者試著寫出非常不可讀的 C 程式碼，但結果往往是出人意料的。

壞消息是如果你是個完全的初學者，那麼全部的 C 程式碼對你而言可能都是霧裡看花。不過好消息是，不用擔心，這個狀況很快就會改善了！

我們在這裡會努力將您從完全不懂、完全感到困惑的情況，引導到純 C 語言程式設計才能帶給你的幸福感。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://beej-c-zhtw.netdpi.net/foreword.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
