int main(void)
{
return('yes', *"no", **main, *********printf) ("hello world!\n") *0;
}
출력이 hello world!
인데 실제로 어떻게 작동합니까? 정말어떻게이 "안녕 세상!" 프로그램 작업?
int main(void)
{
return('yes', *"no", **main, *********printf) ("hello world!\n") *0;
}
출력이 hello world!
인데 실제로 어떻게 작동합니까? 정말어떻게이 "안녕 세상!" 프로그램 작업?
두 가지 :
int main(void)
{
return('yes', *"no", main, printf) ("hello world!\n") *0;
}
그리고의 값과리스트의 마지막 요소를 사용하여 : *main == main
의 마지막 요소의 값을 반환 분리 목록
int main(void)
{
return printf("hello world!\n") *0;
}
printf
문자의 수를
int main(void)
{
return 13 *0;
}
그리고 13 * 0은 독자의 연습 문제입니다.
당신의 그라비아 아이콘은 이상하지만 그래도 좋은 대답 –
내 친구들 중에는 콧수염을 키우는 경연 대회가 있었고, 나는 면도해야했습니다. 그래서 나는 그날 가짜 콧수염을했습니다. – rampion
+1 독자의 연습을 위해 +1) : –
('yes', *"no", **main, *********printf)
은 쉼표 연산자가 피연산자를 평가하고 마지막 표현식의 값을 반환하기 때문에 *********printf
으로 평가됩니다. *********printf
은 역 참조 함수 포인터가 동일한 함수 포인터를 생성하므로 printf와 같습니다. 그것은 아무것도하지 않습니다.
다음으로 첫 번째 괄호 printf가 "hello world! \ n"에 적용되어 화면에 텍스트가 인쇄됩니다. printf 함수는 쓰여진 문자의 수를 반환합니다. 그런 다음이 숫자에 0이 곱해지고 product가 main 함수에 의해 반환됩니다.
'return ('yes', * "no", ** main, ********* printf) ("마법의! \ n") * 0;'그건 그렇고, 나는 그것을 컴파일했다. 실제로 작동합니다 ._. – Warty
당신은 소프트웨어를 작성하는 이상한 스타일이 있습니다! 당신은 저에게 직업을 제공하지 않을 것입니다. :-) – Oleg
C는 실제로 언어가 잘못되었습니다 :-) –