컴퓨터 지식 네트워크 - 컴퓨터 교육 - 인터뷰 질문: C 언어는 Hello World 프로그램을 구현하기 위해 10가지 방법을 사용합니다.

인터뷰 질문: C 언어는 Hello World 프로그램을 구현하기 위해 10가지 방법을 사용합니다.

1 가장 고전적인 "Hello world!", printf를 직접 사용하여 "Hello world!"를 출력합니다.

#include stdio.hgt; include lt; iostreamgt;

int main(){

printf("Hello world! ") // 교과서 작성 방법

puts("Hello world! ! "); // 내가 가장 좋아하는 것

puts("Hello" " " "world!"); // 문자열 접합

std::cout lt; lt; " Hello world !" lt; lt; std::endl; // C 스타일 교과서 작성

return 0;}

2. "Hello world!" 매크로로 작성

"#"은 매개변수 이름을 "추출"하여 문자열로 변환할 수 있습니다.

#include lt;stdio.hgt;

#define Say(sth)는 (#sth)를 넣습니다.

int main(){

return Say(Hello world!);

}

3. 컨텍스트에서 벗어난 "Hello world!" ;

int main(){

return puts ("말하지 마세요: Hello world! "[12]);

}

4. 종료 시 실행되는 "Hello world!"

atexit()는 콜백 함수를 등록합니다. 이 함수는 여러 번 호출할 수 있으며 마지막으로 등록된 함수가 먼저 실행됩니다.

#include lt;stdio.hgt;

#include lt;stdlib.hgt;

void say(){printf("world! "); }

void sth(){printf("Hello ");}

int main(){

return atexit(say), atexit(sth) ;

}

5. 자신만의 "Hello world!"를 읽어보세요.

// Hello world!

#include lt; ;

#include lt;fstreamgt;

#include lt;stringgt;

int main(){

std:: ifstream ifs(__FILE__);

std::string say, some, word;

ifs gt;gt; say some gt;gt;

std::cout lt;lt; 일부 lt;lt; " " lt;lt;

0을 반환합니다. . 두 단어로 구성된 "Hello world!":

전역 클래스의 인스턴스를 선언합니다. 이 클래스의 생성자는 기본 함수가 실행되기 전에 호출되고 소멸자는 실행 후에 호출됩니다.

#include lt;iostreamgt;

class say{

public: say(){std::cout lt;lt; "Hell";}

~say(){std::cout lt;lt; "world!";}

}hello;

int main(){

std::cout lt; "o ";

return 0;

}

7. "Hello world"를 전달합니다. 템플릿의 !"

#include lt;iostreamgt;

template lt;char *wordsgt;

class say{

public :

p>

void 연산자 () (){std::cout lt; word;}

};

char hello[ ] = "안녕하세요!";

int main(){

return hellogt ()(), 0; >

8. 함수의 비공개 "Hello world!"를 호출합니다.

#include lt;iostreamgt;

#include lt;cstddefgt;

{

비공개:

virtual void say(){std::cout lt; "Hello world!"

>

int main() {

비밀 단어;

(reinterpret_castlt; void (*)()gt; (**(intptr_t**)(amp; word) ))();

return 0;

}

9. 함수의 반환 주소를 직접 수정

#include lt ; stdio.hgt;

#include lt;stdlib.hgt;

#include lt;stddef.hgt;

void say(){

puts("Hello world! ");

exit(0);

}

int main()

{

휘발성 intptr_t a = 0;

휘발성 intptr_t * p = amp;

*(p 2) = (intptr_t)say;

*(p 3 ) = (intptr_t)say;

return 0;

}

10. "안녕하세요!" by 외계인

#include lt;stdio.hgt;

void Alien_say (char * p){

while (putchar (*(p = *(p 1) - *p))) ;

}

int main(){

return Alien_say ("BETHO! Altec

오 리욤(a loadjudas!) dowd."), 0;

}

上篇: 고수 진공 포장은 얼마나 오래 보관할 수 있습니까? 下篇: 높은 점수는 고수에게 컴퓨터 한 대를 준비해 달라고 부탁했다. 월드 오브 워크래프트를 할 수 있습니다.
관련 내용