세미콜론 및 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")){}
}
if
C의 키워드입니다.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
'programing' 카테고리의 다른 글
Java에서 public, protected, package-private 및 private의 차이점은 무엇입니까? (0) | 2022.08.14 |
---|---|
vuex 파일을 분할하려면 어떻게 해야 합니까? (0) | 2022.08.14 |
동일한 이미지에서 불필요한 http 요청 방지 - vuejs (0) | 2022.08.14 |
Vue.js 2 - 폼을 작은 컴포넌트로 분할하는 것은 나쁜 방법입니까? (0) | 2022.08.14 |
계산된 속성을 사용하여 구성 요소의 일부를 표시하거나 숨깁니다. (0) | 2022.08.14 |