programing

세미콜론 및 IF/WHILE/FOR 문이 없는 C의 hello world

goodsources 2022. 8. 14. 12:26
반응형

세미콜론 및 IF/WHILE/FOR 문이 없는 C의 hello world

내 친구가 그러는데 '헬로 월드'를 출력하는 C 프로그램을 만들 수 있대IF/WHILE/FOR세미콜론을 사용하지 않습니다.최소한의 조사 후에 나는 그녀에게 그것이 불가능하다고 말했다.가능합니까?

#include <stdio.h>

int main() {
    switch (printf("Hello, world!\n")) {}
}

친구가 "스위치도 사용할 수 없습니다"라고 말하면 다음과 같이 됩니다.

#include <stdio.h>

int main(int argc, char *argv[printf("Hello, world!\n")]) {}

IF/WHILE/FOR 및 세미콜론 없이 "hello world"를 인쇄하는 C 프로그램을 작성할 수 있습니다.

간단해 C는 대소문자를 구분해

int main()
{
    if (printf("Hello, World\n")){}
}

ifC의 키워드입니다.IF그렇지 않습니다.

포함 파일에서 세미콜론을 훔치는 "휴대용" 방법을 찾고 있습니다.이것은 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내 인쇄물이 될 수 있어

또 다른 성공 비결은#define모든 표준적인 stdint 타입을 제거하다stdint.h세미콜론 뭉치로 줄인다.

둘 다 FreeB에 해당됩니다.SD는 개인 중간 유형을 사용하기 때문에__uint8_t즉, 인용된 예에서는 typedef 삭제가 실패하여 다른 예에서는 모든 non-timeon을 정상적으로 삭제할 수 없습니다.

포함 파일에서 세미콜론을 깔끔하게 훔칠 수 있을 것 같습니다.제 시도를 개선할 수 있는 사람이 있나요?

switch 문을 사용하여 원하는 출력을 얻을 수 있습니다. 아래 코드는 다음과 같습니다.

#include<stdio.h>

int main()
{
  switch(printf("hello world"))

return 0;
}

이것이 너에게 도움이 되기를 바란다.

질문의 정확한 표현에 달려있기 때문에 제안해야 할지 고민입니다만,

#error hello world

(다른 것은 없습니다만, 「hello world를 인쇄하는 방법」의 후속편을 피할 수 있습니다.main"...)

또, 다음과 같은 제한을 회피할 수도 있습니다.

#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가 쿨하지 않다:)

언급URL : https://stackoverflow.com/questions/4147836/hello-world-in-c-without-semicolons-and-without-if-while-for-statements

반응형