CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

新年快乐!!哪位高手进来帮帮忙吧

楼主Daybreakspider(明)2003-02-02 11:51:08 在 C/C++ / C语言 提问

今年刚学的C语言   闻csdn上高手如云   特上来请教几个小问题     还望大家帮忙     多谢!!  
  请勿必用C语言写啊!!  
   
  问题1:#include<stdio.h>  
  main()  
  {  
    int   a=24,b=12;  
    int   c;  
    c=a&&b;  
    printf("%d\t",c);  
    c=a||b;  
    printf("%d\t",c);  
  }    
  上面是位与   ,位或   算法   ,   与或怎么用呢?     而且要打印成   二进制   ,八进制,十六进制   的怎么写呢?  
   
   
  问题2:#include<stdio.h>  
  main()  
  {  
    int   x[2][3]={3,8,6,2,4,9};  
    int   **p,s;  
    p=x;  
    s=**p+*(*p+1)+*(*p+2);  
    printf("The   first   three   numbers'   addation   is:%d\n",s);  
   
    s=**(p+1)+*(*(p+1)+1)+*(*(p+1)+2);  
    printf("The   last   three   numbers'   addation   is:%d\n",s);  
   
    s=*(*p+2)+**(p+1);  
    printf("The   two   middle   numbers'   addation   is:%d\n",s);  
  }.   请大家帮帮改改这个程序吧     要求用指针算出这个二位数组前三个数   ,后三个数,中间两个数的和。  
   
   
  问题3:#include<stdio.h>  
  main()  
  {  
      int   a,b;  
      a=10,b=20;  
      printf("%d,%d",a,b);  
      swap(&a,&b);  
      printf("%d,%d",a,b);  
  }  
   
  swap(px,py)  
  int   *px,*py;  
  {  
    int   temp;  
    temp=*px;  
    *px=*py;  
    *py=temp;  
  }  
  子函数改成   temp=px;px=py;py=temp为什么不行呢?  
   
   
  问题4:#include<stdio.h>  
  main()  
  {  
    int   a,b;  
    int   *pa,*pb;  
    a=7,b=5;  
    pa=&a,pb=&b;  
    printf("%d",pb-pa);  
  }请问此题中   ,pb-pa是什么意思呢?  
  问题点数:100、回复次数:8Top

1 楼efanl(传说中的一凡……)回复于 2003-02-02 14:23:03 得分 10

1.你指的是异或(XOR)吧?异或即“相同为0,不同为1”,  
          1^1   =0,   0^0   =0,   1^0   =1,   0^1   =1  
      至于打印n进制数,只要循环取模再整除就行了,比如说:  
      char   *bitch   =   "0123456789ABCDEF";  
      //m是原数,打印成n进制数  
      //...  
      for   (i   =0;   m   !=0;   m   /=   n)  
      {  
          a[i++]   =   m   %   n;  
      }  
      //最后反向输出bitch   [a   [i]   ]就行了。  
      以上程序段适合2-16进制Top

2 楼efanl(传说中的一凡……)回复于 2003-02-02 14:27:34 得分 10

2.改成这样,我在VC6下调试通过:  
  #include   "stdafx.h"  
  main()  
  {  
    int   x[2][3]={3,8,6,2,4,9};  
    int   s;  
    int   (*p)[3];  
  /*~~~~~~~~~~~~第一处*/  
    p=x;  
    s=**p+*(*p+1)+*(*p+2);  
    printf("The   first   three   numbers'   addation   is:%d\n",s);  
   
    s=**(p+1)+*(*(p+1)+1)+*(*(p+1)+2);  
    printf("The   last   three   numbers'   addation   is:%d\n",s);  
   
    s=*(*p+1)+*(*(p+1)+1);  
  /*~~~~~~~~~~~~~~~~~~~~第二处*/  
    printf("The   two   middle   numbers'   addation   is:%d\n",s);  
  }Top

3 楼efanl(传说中的一凡……)回复于 2003-02-02 14:29:39 得分 10

3.你要交换的是“指针指向的值”,而  
  temp=px;px=py;py=temp显然交换的是指针指向的地址。Top

4 楼hddhddhdd(还刀的)回复于 2003-02-02 14:41:32 得分 0

我来接分,多少给点Top

5 楼efanl(传说中的一凡……)回复于 2003-02-02 14:49:06 得分 10

4.是变量b和a的地址差,按sizeof   (int)算,在VC6下是-1。  
   
  to   hddhddhdd(还刀的):  
      我正想贴第四题,系统提示我说连续回复不能超过三篇,呵呵,你真及时呀。Top

6 楼cupidvenus(小鱼儿)回复于 2003-02-02 14:53:57 得分 50

问题1:  
  位与应是&  
  位或应是|  
  “与或”疑为“异或”,异或是^  
  打印成二进制得自己写程序完成,八进制用%o,十六进制用%x  
  问题2:  
  #include<stdio.h>  
  main()  
  {  
    int   x[2][3]={3,8,6,2,4,9};  
    int   (*p)[3],s;  
    p=x;  
    s=**p+*(*p+1)+*(*p+2);  
    printf("The   first   three   numbers'   addation   is:%d\n",s);  
   
    s=**(p+1)+*(*(p+1)+1)+*(*(p+1)+2);  
    printf("The   last   three   numbers'   addation   is:%d\n",s);  
   
    s=*(*p+2)+**(p+1);  
    printf("The   two   middle   numbers'   addation   is:%d\n",s);  
  }  
  问题3:  
  temp=px;px=py;py=temp交换的是指针指向的地址,而不是指针指向的地址所保存的数值  
  问题4:  
  pb-pa是两指针地址之差Top

7 楼efanl(传说中的一凡……)回复于 2003-02-02 15:01:39 得分 10

to   小鱼儿:  
      第四题3,8,6,  
                  2,4,9  
      我还以为中间两数是指8和4呢,呵呵呵Top

8 楼Daybreakspider(明)回复于 2003-02-02 15:54:42 得分 0

多谢efanl   和   小鱼儿   的帮忙   !!Top

相关问题

  • 新年快乐
  • 新年快乐 ^_^
  • 新年快乐
  • 新年快乐!
  • 新年快乐!!
  • 新年快乐!!!
  • 新年快乐!!!!
  • 新年快乐 ^_^
  • 新年快乐!!
  • ★★★ 新年快乐 ★★★

关键词

  • 指针
  • pb
  • 交换
  • 打印
  • addation
  • 异或
  • py
  • 指针指向
  • 个数
  • printf

得分解答快速导航

  • 帖主:Daybreakspider
  • efanl
  • efanl
  • efanl
  • efanl
  • cupidvenus
  • efanl

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo