記得同學
上次發了一道題,突然記起,今天看了下答案,果然猥瑣。
題目如下:
#include "stdio.h"<br />void print()<br />{<br />*<br />}<br />void main()<br />{<br />}<br />//要求在*號處添加語句,程式輸出hello,world!
因為太猥瑣,直接放答案:
1.猥瑣注釋流(VC6下報fatal error C1071: unexpected end of file found in comment錯誤)
#include "stdio.h"<br />void print()<br />{<br />}<br />void main(){puts("HelloWorld");}<br />/*<br />}<br />void main()<br />{<br />}
2.猥瑣#define流
#include "stdio.h"<br />void print()<br />{<br />#define main main(){printf("Hello World!/n");} void empty<br />}<br />void main()<br />{<br />}
3.猥瑣API流
#include "stdio.h"<br />void print()<br />{<br />#pragma comment(linker,"/entry:print")<br />#pragma comment(lib,"kernel32.lib")//加上這句,免得某些XX說我猥瑣<br />#define HANDLE unsigned long<br />#define WINAPI __stdcall<br />#define DWORD unsigned long<br />#define BOOL unsigned long<br />#define STD_OUTPUT_HANDLE ((DWORD)-11)<br />DWORD dw=0;<br />HANDLE WINAPI GetStdHandle(DWORD nStdHandle);<br />BOOL WINAPI WriteFile(HANDLE hFile,void *lpBuffer,DWORD nNumberOfBytesToWrite,DWORD* lpNumberOfBytesWritten,HANDLE *lpOverlapped);<br />WriteFile(GetStdHandle(STD_OUTPUT_HANDLE),"Hello,world!/n",sizeof("Hello,world!/n"),&dw,NULL);<br />}<br />void main()<br />{<br />}
這種方法報錯:
unresolved external symbol "unsigned long __stdcall WriteFile(unsigned long,void *,unsigned long,unsigned long *,unsigned long *)" (?WriteFile@@YGKKPAXKPAK1@Z)
unresolved external symbol "unsigned long __stdcall GetStdHandle(unsigned long)
應該是通過直接操作標準輸入輸出資料流的方法。
4.猥瑣建構函式流
//猥瑣建構函式流(/* */裡的內容就是*的內容)<br />#include "stdio.h"<br />void print()<br />{<br />}<br />class cls{<br />public:<br />cls(){<br />printf("hello world/n") ;<br />}<br />} ;<br />cls mycls ;<br />void fun(){<br />}<br />void main()<br />{<br />}
據說題目來自電子科大,找不到原始出處了~