| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 833 人关注过本帖
标题:关于指针变量的问题??
只看楼主 加入收藏
流浪天边
Rank: 2
等 级:论坛游民
帖 子:100
专家分:53
注 册:2010-7-12
结帖率:79.31%
收藏
已结贴  问题点数:20 回复次数:8 
关于指针变量的问题??
#include<stdio.h>
void main()
{
void swap(int*pi,int*p2);
int a,b;
int*pointer_1,*pointer_2;
scanf("%d,%d",&a,&b);
pointer_1=&a;pointer_2=&b;
if(a<b) swap(pointer_1,pointer_2);
printf("\n%d,%d\n",a,b);
}
void swap(int*p1,int*p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
getch();
}
为什么这个程序无法运行呢?
输入a和b,确不能比较大小呢???
搜索更多相关主题的帖子: 变量 指针 
2010-08-09 20:23
不归鹄
Rank: 9Rank: 9Rank: 9
来 自:冥王星
等 级:蜘蛛侠
威 望:4
帖 子:491
专家分:1380
注 册:2009-12-20
收藏
得分:5 
你的程序我复制过去可以运行,没有任何警告和错误,你不能运行可能与你代码的缩进有关。下面是我改过后的缩进
程序代码:
/*代码文件的头部加上说明注释会更好*/

#include<stdio.h>

void swap(int *pi,int *p2);      /*函数声明放到外边,这样主函数就不会很乱*/

int main()
{                                /*适当且始终如一的缩进会增加代码的可阅读性,最好每个语句占一行*/
    int a=0,b=0;                 /*声明变量时初始化会利于调试程序,也可避免程序的一些错误*/
    int *pointer_1, *pointer_2;  /*声明指针变量时加空格,虽然有*,但加上最好,至于*跟左边还是右边,这一直是仁者见仁,智者见智*/
                                 /*代码的不同功能段加上空行有利于阅读,也利于自己思考*/
    scanf("%d,%d",&a,&b);
   
    pointer_1=&a;
    pointer_2=&b;
   
    if(a<b)
    {
        swap(pointer_1,pointer_2);
    }/*结构化语句加上括号才不容易出错,即使只有一个语句*/
   
    printf("\n%d,%d\n",a,b); 

    return 0;
}

void swap(int *p1,int *p2)
{
    int temp=0;

    temp=*p1;
    *p1=*p2;
    *p2=temp;
}


这样就 利于阅读了,也容易发现错误

[ 本帖最后由 不归鹄 于 2010-8-9 22:46 编辑 ]

2010-08-09 20:53
sdmscu
Rank: 2
等 级:论坛游民
帖 子:32
专家分:15
注 册:2010-7-7
收藏
得分:5 
回复 2楼 不归鹄
真好!!    虽然我不是LZ   但也从你的讲解中  学到很多   谢谢你!
2010-08-09 21:50
mujiaha
Rank: 2
等 级:论坛游民
帖 子:37
专家分:65
注 册:2010-7-27
收藏
得分:5 
学习了
2010-08-10 10:26
p0fcv9
Rank: 2
等 级:论坛游民
帖 子:11
专家分:13
注 册:2010-7-13
收藏
得分:5 
回复 楼主 流浪天边
2楼简直就是个教科书版本。强烈支持2楼!!
2010-08-10 10:30
流浪天边
Rank: 2
等 级:论坛游民
帖 子:100
专家分:53
注 册:2010-7-12
收藏
得分:0 
谢谢你 为我指导,我学习拉"冥王星
"我有点不明白程序缩进是什么?我运行了你的程序,可是还是出错拉!
我用的是TC2.0
图片附件: 游客没有浏览图片的权限,请 登录注册

输入10 20
显示  10 0

[ 本帖最后由 流浪天边 于 2010-8-17 01:31 编辑 ]
2010-08-17 00:32
哈哈帝王
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2010-8-9
收藏
得分:0 
你的输入有问题
看看scanf("%d,%d",&a,&b);
%d,%d之间是逗号 所以你输入 必须是10,20
2010-08-17 11:49
哈哈帝王
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2010-8-9
收藏
得分:0 
我知道你为什么运行不了
getch()要有conio.h
你可以用gechar() 有stdio.h就可以了

[ 本帖最后由 哈哈帝王 于 2010-8-17 11:56 编辑 ]
2010-08-17 11:54
燕强
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:78
专家分:188
注 册:2010-8-11
收藏
得分:0 
学习了
2010-08-17 14:47
快速回复:关于指针变量的问题??
数据加载中...
 
   



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

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