세미콜론이없고 IF / WHILE / FOR 문이없는 C의 hello world
내 친구는 IF/WHILE/FOR세미콜론 없이 "hello world"를 인쇄하는 C 프로그램을 작성할 수 있다고 말합니다 . 최소한의 조사 끝에 나는 불가능하다고 그녀에게 말했다. 가능합니까?
포함 파일에서 세미콜론을 훔치는 "휴대용"방법을 찾으려고했습니다. 이것은 Linux에서 작동합니다.
int main(int ac, char **av)
{
#define typedef
#define uint8_t a[printf("hello world\n")]
#include <stdint.h>
}
이것은 하나 typedef unsigned char uint8_t가 내 printf가되도록합니다.
효과가 있었던 또 다른 트릭은 #define모든 표준 stdint 유형 stdint.h을 제거하여 여러 세미콜론으로 줄이는 것입니다.
이 두 가지 모두 FreeBSD에서 평범한 이유 __uint8_t는 인용 된 예제에서 typedef 제거가 실패하고 다른 경우에는 모든 비 세미콜론을 성공적으로 제거하지 못함을 의미합니다.
포함 파일에서 세미콜론을 깨끗하게 훔칠 수 있어야 할 것 같습니다. 누구든지 내 시도를 향상시킬 수 있습니까?
#include <stdio.h>
int main() {
switch (printf("Hello, world!\n")) {}
}
친구가 "오, 스위치도 사용할 수 없습니다"라고 말하면 다음을 수행하십시오.
#include <stdio.h>
int main(int argc, char *argv[printf("Hello, world!\n")]) {}
나는 질문의 정확한 표현에 달려 있기 때문에 이것을 제안할지 여부에 대해 찢어졌습니다.
#error hello world
(만약 아무것도 없다면 "어떻게"Hello World를 main"... 없이 어떻게 인쇄합니까?"라는 후속 작업을 방해 할 것입니다 .)
IF / WHILE / FOR없이 세미콜론없이 "hello world"를 인쇄하는 C 프로그램을 작성할 수 있습니다.
쉬운. C는 대소 문자를 구분합니다.
int main()
{
if (printf("Hello, World\n")){}
}
ifC의 키워드 IF는 아닙니다.
다음과 같은 제한 사항을 해결할 수도 있습니다.
#define X i##f
#define Y whi##le
#define Z f##or
#define W swi##tch
는 어때:
#include <stdio.h>
int main(void *HAHA[printf("Hello world!\n")]) {}
C 멋지지 않습니다 :)
switch 문을 사용하여 원하는 출력을 얻을 수 있습니다. 아래 코드는 다음과 같습니다.
#include<stdio.h>
int main()
{
switch(printf("hello world"))
return 0;
}
이것이 당신을 도울 수 있기를 바랍니다
'IT TIP' 카테고리의 다른 글
| list :: size () 정말 O (n)입니까? (0) | 2020.11.29 |
|---|---|
| Rails에서 슬러그 (사람이 읽을 수있는 ID)를 생성하는 가장 좋은 방법 (0) | 2020.11.28 |
| Git 클론-저장소를 찾을 수 없음 (0) | 2020.11.28 |
| 크롬 탭에서 X 버튼을 제거하는 방법이 있습니까? (0) | 2020.11.28 |
| 여러 계정으로 인앱 구매 (0) | 2020.11.28 |