读书人

歪题一路(至少五种解法)

发布时间: 2012-08-11 20:50:31 作者: rapoo

歪题一道(至少五种解法)

C/C++ code
// 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 */


[解决办法]
探讨

C/C++ code

void xchg(int x, int y)
{
printf("a=%d,b=%d\n",1, 2);
printf("a=%d,b=%d\n", 2, 1);
exit(0);
}

[解决办法]
C/C++ code
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);}//.呵呵
[解决办法]
C/C++ code
#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版本
C/C++ code
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    }} 

读书人网 >C语言

热点推荐