风雨之后 发表于 2016-1-23 05:07:42

C语言第42讲第8分钟的程序,我的代码几乎和教程上的一样,为什么老是提示错误

#include <stdio.h>               //实现比较大小,输出先大后小
void swap(int *m int *n);
void main()
{
      
      int *p,*q;
      int a,b;
      scanf("%d%d",&a,&b);
      p=&a;
      q=&b;
      if(a<b)
      {
            swap(p,q);            //如果a>b,交换a和b
      }
      printf("%d%d\n",a,b);
      printf("%d   %d\n",*p,*q);
}

void swap(int *m int *n)   //实现a和b的地址交换,保持a和b的值不变。
{
      int *t;
      t=m;
      m=n;
      n=t;
}

jewen 发表于 2016-1-24 17:19:12

函数参数之间要用逗号隔开

ljman1101 发表于 2016-1-28 16:24:01

void swap(int *m int *n)   的形式参数int *m int *n之间少了逗号

distooy 发表于 2016-1-29 22:19:25

这样子吧

李星 发表于 2016-1-30 13:38:20

赞同上面几楼

!~!~! 发表于 2016-4-2 17:14:07

本帖最后由 !~!~! 于 2016-4-2 17:33 编辑

#include <stdio.h>               //实现比较大小,输出先大后小
void swap(int **m, int **n);
void main()
{

        int *p, *q;
        int a, b;
        printf("输入数字:");
        scanf("%d %d", &a, &b);
        p = &a;
        q = &b;
        if (a < b)
        {
                swap(&p, &q);            //如果a<b,交换p和q
        }
        printf("a = %d\tb = %d\n", a, b);
        printf("*p = %d\t*q = %d\n", *p, *q);

        printf("&a = %p\t&b = %p\n", &a, &b);
        printf("p = %p\tq = %p\n", p, q);
}

void swap(int **m, int **n)   //实现a和b的地址交换,保持a和b的值不变。
{
        int *t;
        t = *m;
        *m = *n;
        *n = t;
}
是这个意思吧

Damn_it 发表于 2016-11-23 18:19:52

#include <stdio.h>               //实现比较大小,输出先大后小
void swap(int *m int *n);
void main()
{
      
      int *p,*q;
      int a,b;
      scanf("%d%d",&a,&b);
      p=&a;
      q=&b;
      if(a<b)
      {
            swap(p,q);            //如果a>b,交换a和b
      }
      printf("%d%d\n",a,b);
      printf("%d   %d\n",*p,*q);
}

void swap(int *m int *n)   //实现a和b的地址交换,保持a和b的值不变。
{
      int t;
      t=*m;
      *m=*n;
      *n=t;
}
这样才对{:10_254:}
页: [1]
查看完整版本: C语言第42讲第8分钟的程序,我的代码几乎和教程上的一样,为什么老是提示错误