首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

【注水】赵老师:这里有一位网友,如果做您的学生,一定是一名很忠实的学生…

2013-01-12 
【灌水】赵老师:这里有一位网友,如果做您的学生,一定是一名很忠实的学生……【灌水】赵老师:这里有一位网友,如果

【灌水】赵老师:这里有一位网友,如果做您的学生,一定是一名很忠实的学生……
【灌水】赵老师:这里有一位网友,如果做您的学生,一定是一名很忠实的学生……

先转贴一下赵老师(zhao4zhong1)名言名篇
VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!
指针即地址。“地址又是啥?”“只能从汇编语言和计算机组成原理的角度去解释了。”


赵老师:这里有一位网友,如果做您的学生,一定是一名很忠实的学生……

 http://www.cpp7.com/bbs/forum.php?mod=viewthread&tid=143

呵呵……



[解决办法]
哈哈,楼主真逗
[解决办法]
#include <stdio.h>
#define SWAP(a,b) do ((&(a))!=(&(b)))?((a)^=(b)^=(a)^=(b)):((a)=(a)); while (0)
char   *p1="1" ,*p2="2" ;
char    c1=1   , c2=2   ;
short   s1=1   , s2=2   ;
int     i1=1   , i2=2   ;
__int64 I1=1i64, I2=2i64;
float   f1=1.0f, f2=2.0f;
double  d1=1.0 , d2=2.0 ;
void main() {
    SWAP((int)p1,(int)p2);                printf("char *     %5s,   %5s\n",p1,p2);
    SWAP(c1,c2);                          printf("char       %5d,   %5d\n",c1,c2);
    SWAP(s1,s2);                          printf("short      %5d,   %5d\n",s1,s2);
    SWAP(i1,i2);                          printf("int        %5d,   %5d\n",i1,i2);
    SWAP(I1,I2);                          printf("__int64 %5I64d,%5I64d\n",I1,I2);
    SWAP(*(int     *)&f1,*(int     *)&f2);printf("float      %5g,   %5g\n",f1,f2);
    SWAP(*(__int64 *)&d1,*(__int64 *)&d2);printf("double    %5lg,  %5lg\n",d1,d2);

    SWAP(c1,c1);
    printf("%d\n",c1);
}
//char *         2,       1
//char           2,       1
//short          2,       1
//int            2,       1
//__int64     2,    1
//float          2,       1


//double        2,      1
//2


[解决办法]
【注水】赵老师:这里有一位网友,如果做您的学生,一定是一名很忠实的学生…
[解决办法]
楼主过于黑了~~

赵教主根本就不懂汇编,你让他看个鸟的汇编啊,这不故意让人难堪呢吗
[解决办法]
引用:
C/C++ code?1234567891011121314151617181920212223242526272829#include <stdio.h>#define SWAP(a,b) do ((&amp;(a))!=(&amp;(b)))?((a)^=(b)^=(a)^=(b)):((a)=(a)); while (0)char   *p1="1" ,*p2="2……

原来不用任何临时变量交换a,b那道题是这么用得。赵老师果然高人啊
[解决办法]
引用:
引用:C/C++ code?1234567891011121314151617181920212223242526272829#include <stdio.h>#define SWAP(a,b) do ((&amp;amp;(a))!=(&amp;amp;(b)))?((a)^=(b)^=(a)^=(b)):((a)=(a)); ……

/////////////////////////////////////////////////////////////////////////

int swap (int a,int b)
{
a=a+b;
b=a-b;
a=a-b;
return 0;
}

[解决办法]
引用:
引用:引用:C/C++ code?1234567891011121314151617181920212223242526272829#include <stdio.h>#define SWAP(a,b) do ((&amp;amp;amp;(a))!=(&amp;amp;amp;(b)))?((……

图森破

热点排行