当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: c语言开发的程序如何实现多线程 ......
    摘要: 不多说,看代码 #include "stdio.h" class int{ public: int operator =(int i) { return n=i; } int(int i):n(i){} int operator ++(int){ printf("++"); return n++; } int operat......


菜鸟个问题

我定义了一个整型变量intm,给intm赋值为4096,然后再定义一个整型指针变量*p1和一个字符指针变量*p2,执行如下操作:  
  p1=&intm;  
  printf("%d",*p1);  
  p2=(char   *)p1;  
  printf("%d",*p2);  
  p1输出为4096这没有什么问题,但我以前一直认为p2应该与p1同值,只是仅输出了intm的高位字节即16  
  ,但机器p2输出了10,不是16,请问,这是为什么?  
  我这样:  
  void   *lp;  
  p1=&intm;     lp=(void     *)p1;     p2=(char   *)lp;p2好像输出的也不是16,我觉得这样应该可以了啊,可还是不行。  
  以上两个问题谁能解答一下?先谢谢了!  
 

NO.1   作者: xiaocai0001

把  
  cout<<p2<<"\n";  
  改为  
  cout<<(int)   *p2<<"\n";  
   
  直接输出p2,p2是个char型指针,输出结果是什么???  
   
  若写成  
  cout<<*p2<<"\n";  
  由于*p2   =   0;屏幕上将什么也没有.  
 


    摘要: 原文如下: ldap lacks an sql-like general reporting language of the kind found with most general-purpose databases. such reporting languages can often be used to generate sophisticated reports from a d......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE