歪题一道(至少五种解法)
// main.c#include <stdio.h>void xchg(int x, int y){// TODO: Insert your code here.}int main(int argc, char* argv[]){ int a = 1; int b = 2; printf("a=%d,b=%d\n", a, b); xchg(a, b); printf("a=%d,b=%d\n", a, b); return 0;}/* * 只许在 TODO 处填入代码 * 要求最终的结果显示为: * a=1,b=2 * a=2,b=1 */
void xchg(int x, int y){ system( "cls" ); printf("a=%d,b=%d\n",1, 2); printf("a=%d,b=%d\n", 2, 1); exit(0);}//.呵呵
[解决办法]
#include <stdio.h>void xchg(int x, int y){// TODO: Insert your code here. /**添加代码如下**/ } int main(int argc, char* argv[]) { printf("a=1,b=2\n"); printf("a=2,b=1\n"); return 0; #define main useless /**添加代码结束**/}int main(int argc, char* argv[]){ int a = 1; int b = 2; printf("a=%d,b=%d\n", a, b); xchg(a, b); printf("a=%d,b=%d\n", a, b); return 0;}
[解决办法]
vs2008 debug版本
void xchg(int x, int y){ // TODO: Insert your code here. _asm { mov eax ,ebp add eax, 0xec mov ecx, eax mov [eax], 2 sub eax, 0x0c mov [eax], 1 }}