当前位置: 代码迷 >> C语言 >> 给大家出一题
  详细解决方案

给大家出一题

热度:147   发布时间:2008-01-12 01:47:51.0
给大家出一题
(1)定义整型变量a,b;
  (2)定义指向整型变量的指针变量p,p1,p2;
  (3)a,b的值由键盘输入;
  (4)使p1,p2分别指向a,b;
  (5)如果a小于b,则改变p1,p2的指向;
  (6)分别输出a,b和p1,p2所指向的变量的值。
搜索更多相关的解决方案: 键盘  

----------------解决方案--------------------------------------------------------
呵呵,不会
----------------解决方案--------------------------------------------------------
#include <stdio.h>
void fnswap(int *p1,int *p2)
{
int *p;
if (*p1<*p2)
  {
   p=p1;
   p1=p2;
  p2=p;
}
}

int main()
{
int a,b;
printf("a,b\n");
scanf("%d %d",&a,&b);
fn swap(&a,&b);
printf("%d,%d",a,b);
return 0;
}
----------------解决方案--------------------------------------------------------
11
ccccc
----------------解决方案--------------------------------------------------------
2楼的不对 参数的值是单向传递的
子函数这样改
int p
if ((*p1<*p2)
{p=*p1;
  * p1=*p2;  
*p2=*p;}

fn swap(&a,&b);
改为fnswap(&a,&b);
最后输出加printf("%d,%d",*p1,*p2);
----------------解决方案--------------------------------------------------------
楼上改的大体没错,要注意指针问题
#include <stdio.h>
void fnswap(int *p1,int *p2)
{
int p;
if (*p1<*p2)
  {
   p=*p1;
   *p1=*p2;
   *p2=p;
}
}

int main()
{
int a,b;
printf("a,b\n");
scanf("%d,%d",&a,&b);
fflush(stdin);
fnswap(&a,&b);
printf("%d,%d",a,b);
return 0;
}
----------------解决方案--------------------------------------------------------
定义变量homework为‘作业’型指针
初始化:homework = LZ
后来在这里homework又指向了其他
----------------解决方案--------------------------------------------------------
你的题好深奥。。。不会。。。
----------------解决方案--------------------------------------------------------
回复 6# 的帖子
#include <stdio.h>
main()
{
    int a,b;
    int *p,*p1=&a,*p2=&b;
    printf("输入一个数:");
    scanf(%d,&a);
    printf("输入一个数:");
    scanf(%d,&b);
    if(a<b){
        *p1=&b;
        *p2=&a;
    }
    printf("a=%d\n b=%d\n *p1=%d *p2=d\n",a,b,*p1,*p2);
    return 0;
}
我这个对吗?
----------------解决方案--------------------------------------------------------
#include <stdio.h>
main()
{
    int a,b;
    int *p,*p1,*p2;
    printf("输入a:");
    scanf("%d",&a);
    fflush(stdin);
    printf("输入b:");
    scanf("%d",&b);
    fflush(stdin);
    p1=&a;p2=&b;
    if(a<b){
        p1=&b;
        p2=&a;
    }
    printf("a=%d\n b=%d\n *p1=%d *p2=%d\n",a,b,*p1,*p2);
    return 0;
}
好好看书啊,呵呵
----------------解决方案--------------------------------------------------------
  相关解决方案