标题:求助!这个程序应该怎么改呢
只看楼主
l2480035288
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2013-3-15
结帖率:73.33%
已结贴  问题点数:20 回复次数:9 
求助!这个程序应该怎么改呢
#include<stdio.h>
int main()
{
    void swap(int *x,int *y);
    int a,b;
    int *x,*y;
    printf("input a,b:");
    scanf("%d%d",&a,&b);
    printf("a=%d,b=%d",a,b);
    x=&a;
    y=&b;
    swap(x,y);
    printf("a=%d,b=%d",*x,*y);
    return 0;
}
void swap(int *x,int *y);
{
    int z;
    z=*x;
    *y=*x;
    z=*y;
    return(z);
}
   

程序显示F:\c++\VC6\MyProjects\juk\sds.cpp(17) : error C2447: missing function header (old-style formal list?)

搜索更多相关主题的帖子: void function return formal 
2013-03-21 22:35
冰冻零点
Rank: 3Rank: 3
来 自:西安电子科技大学
等 级:论坛游侠
帖 子:81
专家分:136
注 册:2012-9-18
得分:10 
void swap(int *x,int *y);
{
    int z;
    z=*x;
    *y=*x;
    z=*y;
    return(z);
}
函数是 void,木有返回值, return(z);???还有就是返回z的话的话也是没有用的;定义的时候把分号去掉,
程序代码:
#include<stdio.h>
int main()
{
    void swap(int *x,int *y);
    int a,b;
   
    printf("input a,b:");
    scanf("%d%d",&a,&b);
    printf("a=%d,b=%d",a,b);
    swap(&a,&b);
    printf("a=%d,b=%d",a,b);
    return 0;
}

void swap(int *x,int *y)
{
    int z;
    z=*x;
    *y=*x;
    z=*y;
   
}


好好学习,天天向上
2013-03-21 22:48
淡江胡真学习
Rank: 2
等 级:论坛游民
帖 子:20
专家分:17
注 册:2012-11-23
得分:0 
void swap(int *x,int *y)
 {
     int z;
     z=*x;
     *y=*x;
     z=*y;
   
 }


这是什么意思?


void swap(int *x,int *y)
 {
     int z;
     z=*x;
     *x=*y;
     *y=z;
   
 }

2013-03-21 23:04
你不想去那儿
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:56
专家分:114
注 册:2012-9-21
得分:0 
回复 楼主 l2480035288
系统提示应该是缺少函数头部,你那个函数头部放在主函数以外,再把其他错误改正后运行一下!
2013-03-22 00:27
s18270722463
Rank: 2
等 级:论坛游民
帖 子:53
专家分:28
注 册:2012-6-11
得分:0 
回复 3楼 淡江胡真学习
将两个指针的值互换
2013-03-22 14:04
guo121111631
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-10-16
得分:0 
void swap(int *x,int *y);
多了个分号,楼主再试试
2013-03-22 16:07
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
得分:0 
回复 2楼 冰冻零点
赞同!

三十年河东,三十年河西,莫欺少年穷!
2013-03-22 18:21
qwe885167759
Rank: 4
等 级:业余侠客
威 望:5
帖 子:148
专家分:259
注 册:2013-3-12
得分:10 
指针交换时错了,改为z=*x;*x=*y;*y=z;swap定义的分号去掉,再去掉“return(z);”就好了;楼主试一下。




这是改后的程序:
#include<stdio.h>
int main()
{
    void swap(int *x,int *y);
    int a,b;
    int *x,*y;
    printf("input a,b:");
    scanf("%d%d",&a,&b);
    printf("a=%d,b=%d",a,b);
    printf("\n");
    x=&a;
    y=&b;
    swap(x,y);
    printf("%d,%d",*x,*y);
    printf("\n");
    return 0;
}
void swap(int *x,int *y)
{
    int z;
    z=*x;
    *x=*y;
    *y=z;
   
}

[ 本帖最后由 qwe885167759 于 2013-3-22 19:01 编辑 ]

我本楚狂人,凤歌笑孔丘
2013-03-22 18:59
l2480035288
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2013-3-15
得分:0 
回复 8楼 qwe885167759
好了  谢谢
2013-03-22 21:23
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2391
专家分:13384
注 册:2013-3-3
得分:0 
函数参数的使用要弄清楚点,二楼不错

Maybe
2013-03-23 11:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-401546-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050875 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved